次のバッチスクリプトがあります。C:\Source から C:\MyTEST\A\webroot\payrollservice にデータを取り込みます。ソース フォルダーには、1. Web.config と 2. Web_PROD バックアップの 2 つのファイルがあります。
ロール スクリプトには、構成ファイルの名前を変更するコマンドがあります。初めてスクリプトを実行すると、問題なく動作します。しかし、スクリプトを再度実行すると、ファイルの名前変更が機能しません。根本的な原因は、remove directory コマンドがフォルダーを削除していないことです。ここで何を修正する必要がありますか?
rem * STEP 1 taking backup of the folder
mkdir "C:\MyTEST\A\webroot\backup\b05232013v1\payrollservice"
xcopy "C:\MyTEST\A\webroot\payrollservice" "C:\MyTEST\A\webroot\backup\b05232013v1\payrollservice" /E /y /H
rem * STEP 2 remove physical folder
rmdir "C:\MyTEST\A\webroot\payrollservice"
rem * STEP 3 create physical folder
mkdir "C:\MyTEST\A\webroot\payrollservice"
rem * STEP 4 Copy sourcecode to Production boxes
xcopy "C:\Source" "C:\MyTEST\A\webroot\payrollservice" /E /y /H
rem * STEP 5 Rename teh config file
ren C:\MyTEST\A\webroot\payrollservice\Web.config WebLabbackup.config
ren C:\MyTEST\A\webroot\payrollservice\Web_PROD.config Web.config
pause
Xcopyから
/e : 空であっても、すべてのサブディレクトリをコピーします。
/y : 既存の宛先ファイルを上書きするかどうかを確認するプロンプトを抑制します。
/h : 隠しファイル属性およびシステム ファイル属性を持つファイルをコピーします。デフォルトでは、xcopy は隠しファイルやシステム ファイルをコピーしません。
参照