2014-01-13 150 views
0

這是我的嘗試:刪除目錄及其所有子目錄

package main 

import (
    "fmt" 
    "os/exec" 
) 

func main() { 
    fmt.Println("Removing build directory") 
    if err := exec.Command("cmd", "/S /Q", "RD", "c:\\build").Run(); err != nil { 
     fmt.Printf("Error removing build directory: %s\n", err) 
    } 

    if err := exec.Command("cmd", "/C", "mkdir", "c:\\build").Run(); err != nil { 
     fmt.Printf("Error making new build directory: %s\n", err) 
    } 
} 

而且我的輸出是:

Removing build directory 
Error making new build directory: exit status 1 

所以我沒有得到消除,當任何錯誤,但它不會刪除任何東西。

這是爲什麼?

+0

當你調用這些命令directl會發生什麼? – fuz

+0

如果我在命令提示符下鍵入rd/s/q c:\\ build,它就可以工作。 – Kobe

+0

您是否嘗試過使用exe.Command(「cmd」,「/ S」,「/ Q」,「RS」,「C:\\ build」)。我不使用Windows,所以我無法測試任何這些。 – fuz

回答

0

試試這個..

func main() { 
    fmt.Println("Removing build directory") 

    c := exec.Command("cmd", "/C", "rd /S /Q", "C:\\build") 

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


    if err := exec.Command("cmd", "/C", "mkdir", "c:\\build").Run(); err != nil { 
     fmt.Printf("Error making new build directory: %s\n", err) 
    } 

} 
+0

謝謝,這是做的伎倆。 – Kobe

相關問題