2012-10-22 7 views
16

क्या कोई मुझे बता सकता है कि गो में एक साधारण डॉस कमांड कैसे चलाया जाए?गोलांग में एक साधारण विंडोज डॉस कमांड को कैसे कार्यान्वित करें?

कुछ इस तरह से चल रहा है जब:

exec.Command("del", "c:\\aaa.txt") 

उत्पादन होता है:

"डेल:% पथ% में निष्पादन योग्य फ़ाइल नहीं मिला"

फिर मुझे लगा कि यह में सरल काम होगा जाओ, लेकिन खोज के 2 घंटे बाद, मुझे इसका कोई उदाहरण नहीं मिला। क्या कोई मुझे यह भी बता सकता है कि मैं क्या गलत कर रहा हूं, क्योंकि मुझे गो में सबसे सरल सामान्य कार्यों पर अच्छे उदाहरण नहीं मिल रहे हैं।

उत्तर

29

मैं तुम्हें रूप में एक ही त्रुटि मिली:

इस प्रयास करें। लेकिन डाइस्ट्रॉय सही है: आप del या cmd में निर्मित किसी अन्य कमांड को नहीं चला सकते हैं क्योंकि del.exe फ़ाइल (या उस मामले के लिए कोई अन्य डेल निष्पादन योग्य नहीं है)।

package main 

import(
    "fmt" 
    "os/exec" 
) 

func main(){  
    c := exec.Command("cmd", "/C", "del", "D:\\a.txt") 

    if err := c.Run(); err != nil { 
     fmt.Println("Error: ", err) 
    } 
} 
+0

से हटाएं, ठीक है एनीसस। सहायता के लिए धन्यवाद! – Yster

+0

क्या होगा अगर मैं मैक ओएस पर इसका उपयोग करना चाहूंगा? 'cmd: = exec.Command (" cmd "," killall opera ") ' कुछ मेरे लिए काम नहीं करता है। –

+0

मैक पर कुछ कमांड: = exec.Command ("bash", "-c", "") ' – ffel

5

आपको अपने dir कमांड को निष्पादित करने के लिए Windows cmd की आवश्यकता है।

cmd := exec.Command("cmd", "/C dir").Output() 

(माफ करना, कोई Windows कंप्यूटर अभी जाँच करने के लिए)

+0

हाय dystroy एक बैच फ़ाइल है जिसमें निम्न शामिल बनाएँ। मैंने कोशिश की और इसमें बदलाव, लेकिन यह काम नहीं लग रहा है। यह चलता है, लेकिन कुछ भी नहीं होता है। उदाहरण के लिए: \t exec.Command ("cmd/c del c: \\ bbb \\ aaa.txt")। कोशिश करने के लिए धन्यवाद। – Yster

+2

चूंकि आप सी से हटा रहे हैं:, सुनिश्चित करें कि आप अपने गो-प्रोग्राम को विशेषाधिकारों से सी: – ANisus

1

भी एक और समाधान मिला:

मैं इसके साथ काम करने के लिए मिला है। डेल ग: \ aaa.txt

तो इस तरह इसे कहते:

exec.Command("c:\\del.bat").Run() 
संबंधित मुद्दे