这是我第一次使用 robocopy,除了日志记录之外,我已经弄清楚了大部分内容,并且运行良好。
我已经进行了很多实验,如果我像这样运行我的工作:
robocopy /xc /xn /xo "source" "destination" *.* /COPY:DAT /E
我看到我的作业在 powershell 控制台中逐行运行。
如果我像这样运行它:
robocopy /xc /xn /xo "source" "destination" *.* /COPY:DAT /E /L LOG:mylogfile.log
我得到了一个“试运行”文件,它向我展示了“真正”运行它时会发生什么
当我像这样运行它时:
robocopy /xc /xn /xo "source" "destination" *.* /COPY:DAT /E /LOG:mylogfile.log
作业执行了,但是我在控制台上看不到任何内容,除了:
Log File : mylogfile.log
光标闪烁,直到作业完成。作业完成后,我可以在日志中看到结果。
我的理解是 robocopy 默认不创建日志。我的问题是,有没有办法让控制台像上面的第一组命令一样逐行显示进度,并像第三组命令一样在一次运行中将作业记录到文件中?
答案1
看起来你需要一些球座。(不是可饮用的,尽管在 robocopy 工作时您也可以喝一杯。:)
powershell -command "robocopy 'drive:\source dir' 'drive:\target dir' /np | tee 'drive:\log file.log'"
(或者直接输入电源外壳然后在 PS 提示符下键入 robocopy 命令并通过 tee 传输到日志文件。)
编辑:好吧,现在我感觉自己很蠢,因为 robocopy 有一个内置的/球座我不敢相信我之前从未注意到这个参数。