回答:
コピーしたばかりの同じファイルを移動することの意味がわかりませんが、ファイルが存在するかどうかをテストするには、次のようなバッチスクリプトで「IF」ステートメントを使用します。(%〜についてさらに詳しく説明します。)
IF EXIST %~dp2%~nx1 (echo file exists) ELSE (
robocopy %~dp1 %~dp2 %~nx1 /XN /XO /MOV>>testing.txt)
以下は、Windows 7、Windows 8、Windows Server 2008、Windows Server 2008 R2、Windows Server 2012で動作します。
(XPの場合、リソースキットから取得する必要がありますが、その宝石に残っているのはわずか30日間です:))
次のコードは、宛先ファイルが存在しない場合にのみ、ソースディレクトリから宛先ディレクトリにファイルをコピーします。
robocopy source_path dest_path filename /XN /XO
/ MOVを追加すると、ファイルが移動します。
パラメータを使用する場合、コマンドは次のようになります。
copyscript.bat C:\Dir1\filename.ext D:\path2\
copyscript.batが次のように見える場合:
robocopy %~dp1 %~dp2 %~nx1 /XN /XO
出力をログに送信する場合は、次のように>> logfile.txtを追加します。
robocopy %~dp1 %~dp2 %~nx1 /XN /XO>>logfile.txt
コピーの代わりにファイルを移動する場合は、次のようにします。
robocopy %~dp1 %~dp2 %~nx1 /XN /XO /MOV
cmdウィンドウの代わりに出力結果をファイルに追加します(毎回ログを上書きする場合は、1つのみを使用します)
Simon Sheppardのサイトは優れたバッチスクリプトリソースです。引数の構文はこちらです。 http://ss64.com/nt/syntax-args.html
Microsoftのロボコピー情報はこちらhttp://technet.microsoft.com/en-us/library/cc733145.aspx