0

現在、Visual Studio でビルド後のスクリプトを作成して、リリースをビルドするディレクトリをクリーンアップしようとしています。バッチ ファイルは正常に実行され、期待されるすべての動作が行われますが、Visual Studio で次のようなメッセージが表示されます。"Call post-build.bat" exited with code 1.

私のバッチスクリプトは次のとおりです。

@echo off
GOTO :CleanFiles
:CleanFiles
set direct = %CD%
IF EXIST *.pdb (
    DEL *.pdb
)
IF EXIST *.vshost.exe.config (
    DEL *.vshost.exe.config
)
IF EXIST *.WPF4.xml (
    DEL *.WPF4.xml
)
IF EXIST System.Windows.Interactivity.xml (
    DEL System.Windows.Interactivity.xml
)
IF ERRORLEVEL 0 GOTO MakeDirectories

:MakeDirectories
IF EXIST %direct%lib (
    rmdir /s %direct%lib
    rmdir /s %direct%config
    rmdir /s %direct%output
)
mkdir %direct%lib
mkdir %direct%config
mkdir %direct%output
IF ERRORLEVEL 0 GOTO MoveFiles
:MoveFiles
move /y %direct%*.dll %direct%lib
move /y %direct%*.xml %direct%config
move /y %direct%*.xlsx %direct%output
IF ERRORLEVEL 0 GOTO DelBatch
:DelBatch
DEL "%~f0"

編集:

バッチ ファイルの一番下にある DEL コマンドです。これを修正する方法はありますか?

4

1 に答える 1

5

バッチ プロセスが実行する次の行を探しているが、ファイルがなくなっているため、エラーが発生します。

ファイルを削除した後、明示的に EXIT するだけでよいと思います。EXIT を解析し、DEL コマンドと同じブロックで実行することが重要です。

del "%~f0"&exit

また

(
  del "%~f0"
  exit
)
于 2013-07-19T21:38:03.980 に答える