답변:
당신은 robocopy
그것을 확인해야합니다 , 그것은 훨씬 더 강력합니다 xcopy
. /MOV
또는 로 파일을 쉽게 이동할 수 있습니다 /MOVE
.
파일 만 이동하려면 (복사 후 소스에서 삭제)
robocopy from_folder to_folder files_to_copy /MOV
파일 및 디렉토리를 이동하려면 (복사 후 소스에서 삭제)
robocopy from_folder to_folder files_to_copy /MOVE
verify
내가 볼 수 있는 한 멀지 않습니다 .
/MOVE : Move files and dirs (delete from source after copying)
.. 복사하지 않으면 소스를 제거하지 않습니다.
verify
입니다. robocopy 정보에는 실제로 두 파일 크기가 실제로 이동되지 않았지만 올바르게 이동했는지 확인하기 위해 아무것도 확인하지 못했습니다.
배치 파일을 사용 Xcopy
하여 verify로 명령 을 실행 한 다음 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.
errorlevel
내가하고있는 경우에도 여전히 작동 합니까 dir args && xcopy args >> logfile.txt
? 아니면 errorlevel
결과 dir
일까요?
if errorlevel 0
항상 트리거합니다. 실제로 확인 if errorlevel >= 0
중이므로 대신 오류 사례를 확인해야합니다 if errorlevel 1 ( ... failure case ... ) else ( ... success case ... )
. 또는 스타일을 선호하는 if not errorlevel 0 (... success case ... )
경우 또는 스타일을 선호하는 경우if %ERRORLEVEL% EQU 0 ( ... success case ... )
/v
파일이 제대로 기록 된 것을 보장하지 않습니다 : 디스크와 OS가 성공적 최선을 다하고되기 전에 쓰기 캐시 파일이 거기에서 검색 할 것을 의미 캐시합니다. 유일한 안전한 옵션은 나중에 사본을 만들고 확인 및 삭제를 예약하는 것입니다. 경험적으로 5 분이면 충분하지만 하드 규칙과 빠른 규칙은 없습니다. 디스크 활동과 캐시 크기에 따라 다릅니다 (캐시 된 쓰기 오류가 발생한 사람이라고 말합니다).