我已经对其他代码进行逆向工程(因为我根本不了解批量编写)备份特定的子文件夹。现在,它看起来像这样:
@echo off
for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a
mkdir "e:\Family Sync Folder Backup\%date:/=_%"
set source= "\\jessica\Family Sync Folder"
set destination= "e:\Family Sync Folder Backup\%date:/=_%"
robocopy %source% %destination% /e
对特定子文件夹重复此代码。 我想知道是否有办法在屏幕上打印类似于"当前备份(FOLDER NAME)"后跟一个百分比但没有列出每个文件。
创建日志文件的加分点, 显示复制的每个文件。
答案 0 :(得分:0)
您可以使用
robocopy %source% %destination% /e /LOG:"YourLogFile.txt"
强制robocopy写入日志,或者,同时压缩robocopy输出和日志
robocopy %source% %destination% /e >> YourLogFile.txt
现在,请注意屏幕上大部分Robocopy的输出都会被抑制,并且会一直空白闪烁直到结束,要使用第二个选项,你必须写下一个不同的方法来批量复制,这样你can(在每次迭代中)获取复制的文件/文件夹的实际数量(乘以100)并除以总金额以获得%完成并在屏幕上显示。
如果你想显示不同的进度指示,你需要文件的总量和复制的文件数量,为此你最终会使用带有dir命令的for循环,并且可能会丢失robocopy的全部功能。 或者你可以在robocopy上使用这5个选项:
robocopy %source% %destination% /mir /LOG+:Yourfile.txt /NFL /NDL /NJH /NJS /nc /ns
/NFL : No File List - don't log file names.
/NDL : No Directory List - don't log directory names.
/NJH : No Job Header.
/NJS : No Job Summary.
Ctrl + v'd from: How can I make robocopy silent in the command line except for progress?
请注意,robocopy上的每个文件都显示%进度,但每个目录不显示。