[英]Robocopy /mov logs all files from target folder?
我使用 robocopy 將文件從源文件夾移動到目標文件夾。 效果很好,我對 robocopy 的日志記錄有點驚訝 - 它列出了目標文件夾的所有文件?
假設我們有兩個文件夾,一個空的源文件夾和一個包含一些文件的目標文件夾(target1-3)。 如果我運行這個命令:
robocopy "D:\test\source" "D:\test\target" /S /MOV /R:10 /W:30 /UNILOG+:"log.txt"
我得到了這個 output(對不起德國人):
-------------------------------------------------------------------------------
ROBOCOPY :: Robustes Dateikopieren fr Windows
-------------------------------------------------------------------------------
Gestartet: Dienstag, 6. April 2021 20:50:24
Quelle : D:\test\source\
Ziel : D:\test\target\
Dateien : *.*
Optionen: *.* /S /DCOPY:DA /COPY:DAT /MOV /R:10 /W:30
------------------------------------------------------------------------------
0 D:\test\source\
*EXTRA Datei 0 target1.txt
*EXTRA Datei 0 target2.txt
*EXTRA Datei 0 target3.txt
------------------------------------------------------------------------------
Insgesamt KopiertšbersprungenKeine šbereinstimmung FEHLER Extras
Verzeich.: 1 0 1 0 0 0
Dateien: 0 0 0 0 0 3
Bytes: 0 0 0 0 0 0
Zeiten: 0:00:00 0:00:00 0:00:00 0:00:00
Beendet: Dienstag, 6. April 2021 20:50:24
為什么 robocopy 會列出目標文件夾中的所有文件? 我怎么能避免呢? (這個列表在實際用例中可能會變得很長。)
您可以使用其他開關來減少日志記錄。 我建議查看robocopy
的文檔。 您可以添加/NFL
選項以省略文件記錄。 您可以添加/NDL
選項來省略目錄的日志記錄:
robocopy "D:\test\source" "D:\test\target" /S /MOV /R:10 /W:30 /NFL /NDL /UNILOG+:"log.txt"
但這將省略所有文件和目錄的日志記錄(不僅是EXTRA
的)。 如果您只是不想在日志中包含EXTRA
的文件和目錄,但其他所有內容,您需要額外的工具。 您可以發布處理您的日志文件(如果值得的話):
(Select-String -Path log.txt -Pattern '^\s+\*EXTRA' -NotMatch | Select-Object -ExpandProperty Line) | Set-Content -Path log.txt
此 PowerShell 管道將從log.txt
中刪除以空格開頭的每一行,然后是*EXTRA
。
僅供參考: robocopy
記錄EXTRA
文件,因為它不僅可以用於復制,還可以用於單向同步。 因此,您不僅可以將文件復制到目標,還可以刪除目標位置的文件,這些文件在源位置(不再存在)。 查看/PURGE
和/MIR
選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.