2013-04-24 77 views
3

我試圖在Visual Studio的Post build事件中運行批處理文件。在VS2012中發佈構建事件。運行批處理文件

推薦Can we execute a .bat file in post build event command line in visual studio?作爲參考。

當我張貼線

xcopy "$(ProjectDir)bin" "$(SolutionDir)Deploy\bin" /S in postbuild 

時得到預期的結果

同一行我把蝙蝠打過電話

call "$(SolutionDir)\Deploy.bat" 

call "Physical path\deploy.bat" 

上午越來越用代碼1興奮。我在這裏做錯了什麼?

我可以在批處理文件中指定宏嗎?

感謝

+0

你在'deploy.bat'中做了什麼?你確定它沒有錯誤嗎?你有沒有嘗試從msbuild啓用診斷日誌記錄,看看它是否會給你更多的細節? – outcoldman 2013-04-24 07:49:20

回答

6

你得到一個VS錯誤,因爲它返回的退出代碼不是0。這並不一定意味着出現了錯誤。

返回的錯誤代碼表示沒有文件被複制。 這些返回代碼爲的Xcopy:

  • 退出代碼
    • 0文件被複制而不會出現錯誤。
    • 1找不到要複製的文件。
    • 2用戶按下Ctrl + C來終止xcopy。
    • 4各種錯誤,包括內存不足或磁盤空間不足,驅動器名稱無效或語法無效。
    • 5發生磁盤寫入錯誤。

嘗試在批處理文件中的代碼。使用/ Y,這樣你就不必處理任何提示。您可以與其他動作處理的1返回代碼或只是返回0

VS後生成的命令行代碼:

CALL "$(SolutionDir)"Deploy.bat "$(ProjectDir)bin" "$(SolutionDir)Deploy\bin"

DEPLOY.BAT文件

Xcopy %1 %2 /S /Y

If errorlevel 1 @exit 0