亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

cmd.Run() 返回“文件不存在”錯誤

cmd.Run() 返回“文件不存在”錯誤

Go
BIG陽 2022-08-24 10:48:42
我是Golang的新手,但它的明顯優勢之一是創建命令行工具,所以我認為一個有趣的小學習練習是在Windows上重新創建“觸摸”命令。我編寫了一個程序,用于在指定的文件路徑或當前文件夾中創建新文件。這已經變得非常盛大,我可以毫無問題地制作一個新文件:func create_empty_file(file_name string) bool {    filehandle, err := os.Create(file_name)    if err != nil {        return false    }    defer filehandle.Close()    return true}我知道這部分正在工作,因為我可以觀看正在制作的文件并在程序完成后打開它。我這里的問題是,我想在創建后在VSCode中打開它,顯然有一些我不明白的地方。當我嘗試運行這個:os/execcommand_string := strings.Join([]string{"code", full_filepath}, " ")run_command := exec.Command(command_string)run_err := run_command.Run()我打印出的內容(顯然事先檢查),我得到這個:run_errnil.Run() failed with error: exec: "code C:\\Go Code\\failed_successfully.go": file does not exist如果我復制并粘貼到命令提示符中,它會在VSCode中打開文件而不會出現問題,因此很明顯,此調用有一些內容是我所缺少/不理解的。"code C:\\Go Code\\failed_successfully.go".go我想也許它在創建之前試圖打開文件,所以我查找了如何檢查文件是否存在,然后使用s編寫了一個簡短的函數,該函數每隔幾毫秒檢查一次文件是否存在,并在找到它時返回。否則,它將運行一些指定的秒數,然后返回 false。我仍然得到相同的錯誤,所以我假設這不是問題。Ticktrue我做的最后一件事是使用正斜杠替換所有反斜杠,這沒有任何效果。strings.Replace()關于如何在這里實現我想要的任何建議將不勝感激!
查看完整描述

1 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

exec.Command不解析輸入字符串,將其拆分為空格等。相反,請將參數分別傳遞給 。exec.Command

那是:

runCmd := exec.Command("code", full_filepath)

目前,您正在嘗試查找一個名為的命令 -- 而不是簡單地調用并使用參數調用它。code C:\\Go Code\\failed_successfully.gocode


查看完整回答
反對 回復 2022-08-24
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號