xcopy /Y /R "%VS140COMNTOOLS%..\IDE\CommonExtensions\Platform\DiagnosticsHub\x86\dbghelp.dll" binaries\msvcr\
上面的命令行失敗,4例下面的錯誤消息:未找到
文件 - dbghelp.dll
0文件(多個)複製
分配給環境變量VS140COMNTOOLS
的文件夾路徑不會以反斜槓結尾。
由於echo %VS140COMNTOOLS%
在末尾打印帶有反斜槓的文件夾路徑,因此顯然不是這種情況的原因。
環境變量的字符串值:
%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\Tools\
但這裏不是這種情況下,否則會echo %VS140COMNTOOLS%
打印字符串。
分配給環境變量VS140COMNTOOLS
的文件夾路徑具有一個或多個尾隨空格/製表符。
分配給環境變量VS140COMNTOOLS
的文件夾路徑以1個或多個前導空格/製表符開頭。
有關錯誤,這將有助於運行echo "%VS140COMNTOOLS%"
看看如果輸出的第二個和第三個原因:
「C:\ Program Files文件(x86)的\微軟的Visual Studio 14。0 \ Common7 \工具\ 「
或
」 C:\ Program Files文件(x86)的\微軟的Visual Studio 14.0 \ Common7 \工具\」
使用語法set variable=value
能很容易導致獲取值尾隨空格/選項卡分配給環境變量導致在這樣的錯誤中使用。解決方案使用set "variable=value"
,詳細解釋在Why is no string output with 'echo %var%' after using 'set var = text' on command line?
爲了完整性的環境變量VS140COMNTOOLS
與等號,而不是左到變量名和沒有尾隨空格之後的命令行
set VS140COMNTOOLS="C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\"
與第一雙引號的定義/選項卡將導致執行命令行:
xcopy /Y /R ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\"..\IDE\CommonExtensions\Platform\DiagnosticsHub\x86\dbghelp.dll" binaries\msvcr\
但該命令行會導致錯誤消息:
數無效ö f參數
因此已經雙引號的文件夾路徑也可以排除爲可能的錯誤原因。
順便說一下:xcopy
的幫助通過在命令提示符窗口中運行xcopy /?
輸出,列出了源和目標參數後的可選參數。當然可以指定第一個/R /Y
,然後指定源文件和目標文件夾,但通常建議使用命令幫助中建議的語法。
批處理文件是隻包含這一行還是更多? – geisterfurz007
@ geisterfurz007:我目前正在命令行測試,所以沒有更多。只是這個'xcopy'。 –
@ geisterfurz007:斑點。第一行是正確的,我編輯了第二行。 –