簡體   English   中英

如何擺脫.bat文件中不影響腳本結果的錯誤?

[英]How do I get rid of errors in .bat file that aren't affecting outcome of the script?

我有一個應用程序調用以下命令:

C:\Users\212340141>"C:\Program Files\Microsoft Office\Office14\excel.exe" /e "C:
\My Programs\CPU Analysis\data\IOParse.xlsm" "-iodumplocation"C:\My Programs\CPU
Analysis\iodump\065901_iodump.txt""

當我運行此命令時,它會打開excel,並將C:\\My Programs\\CPU Analysis\\iodump\\065901_iodump.txt路徑作為參數提供給excel書,以便在它自動運行的宏中使用。 宏可以正確運行,並且文件可以正確修改,但是運行命令時出現以下錯誤:

第一個錯誤

第二次錯誤

第三錯誤

第四錯誤

如何擺脫錯誤?

回答

如已接受的答案中所述,由於我編寫命令的方式,excel試圖打開多個文件。 解決此問題的方法是,我創建了一個文本文件來保存試圖傳遞給宏的路徑。 宏將打開文本文件並讀取路徑以獲取所需的路徑。 這比嘗試從命令行獲取路徑更加干凈和容易。

Excel的啟動開關的說明列出並描述了可以在啟動Excel時使用的可選開關。 /e在Microsoft編寫的此頁上列出。 但是-iodumplocation絕對不是Excel的命令行開關。

在命令行中使用雙引號引起來的雙引號始終是一個錯誤,並且根據命令行解析器的代碼,結果是不可預測的,請參見有關為什么雙引號應始終僅在參數字符串的開頭和結尾的答案

Excel顯然將使用的命令行解釋為

"C:\Program Files\Microsoft Office\Office14\excel.exe" /e "C:\My Programs\CPU Analysis\data\IOParse.xlsm" "-iodumplocation" C:\My Programs\CPU Analysis\iodump\065901_iodump.txt""

導致

  1. /e ...在不顯示啟動屏幕且沒有創建新工作簿的情況下啟動。
  2. C:\\My Programs\\CPU Analysis\\data\\IOParse.xlsm ...打開此啟用了marco的工作簿文件。
  3. -iodumplocation ...嘗試在當前工作目錄中打開名為-iodumplocation.xlsx的文件的失敗嘗試。
  4. C:\\My ...未能在驅動器C:的根目錄中打開名為My.xlsx的文件。
  5. Programs\\CPU ...嘗試打開當前工作目錄的子目錄Programs中名稱為CPU.xlsx的文件的嘗試失敗。
  6. Analysis\\iodump\\065901_iodump.txt"" ...在當前工作目錄的Analysis\\iodump子目錄中打開具有無效名稱065901_iodump.txt""的文件的失敗嘗試。

我不建議使用正確的命令行,因為我不知道-iodumplocation應該是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM