web-dev-qa-db-ja.com

xcopy:コピーではなくファイルを移動しますか?

Verifyフラグを使用してネットワーク経由でファイルをコピーするのではなく、xcopyを使用して移動したいと思います。ファイルを移動するためのxcopyのスイッチが見つかりませんでした。xmoveがあり、verifyを使用できますか?

現時点ではxcopy /D /Vを使用していますが、ソースでファイルを削除する必要がありますonly確認すると、ファイルが宛先に正常にコピーされました。

11
JBurace

robocopyをチェックしてください。xcopyよりもはるかに強力です。 /MOVまたは/MOVEを使用すると、ファイルを簡単に移動できます。

ファイルのみを移動するには(コピー後にソースから削除)

robocopy from_folder to_folder files_to_copy /MOV

ファイルとディレクトリを移動するには(コピー後にソースから削除)

robocopy from_folder to_folder files_to_copy /MOVE

http://ss64.com/nt/robocopy.html

11
imtheman

バッチファイルを使用してXcopyコマンドを確認して実行し、Xcopyから返されたエラーレベルをチェックして、ファイルが正常にコピーされたかどうかを判断できます。存在する場合は、ソースを削除します。

Xcopyドキュメント から:

Exit
code  Description
====  ===========
  0   Files were copied without error.
  1   No files were found to copy.
  2   The user pressed CTRL+C to terminate xcopy.
  4   Initialization error occurred. There is not
      enough memory or disk space, or you entered
      an invalid drive name or invalid syntax on
      the command line.
  5   Disk write error occurred.

バッチの例:

Rem Attempt file copy...
xcopy /D /V %1 %2

Rem Check result code and if it was successful (0), delete the source.
if errorlevel 0 (
    echo Copy completed successfully
    del /Q %1
    exit /B
)

Rem Not Errorlevel 0...
echo Copy failed for some reason.
1