0

次のバッチスクリプトがあります。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 は隠しファイルやシステム ファイルをコピーしません。

参照

  1. Windows バッチ ファイル: .bat と .cmd?
4

1 に答える 1

0

rmdirから

/s : 指定したディレクトリと、ファイルを含むすべてのサブディレクトリを削除します。/s を使用してツリーを削除します。/q : rmdir をサイレント モードで実行します。確認なしでディレクトリを削除します。

理解した。/s /qrmdir コマンドの最後に使用する必要があります。

于 2013-05-23T08:54:29.283 に答える