我编写了一个简单的批处理作业,用于将文件从一个文件夹复制到另一个文件夹,使用Shared Access Policy
比x天数更早。但我需要计算已复制的文件数。我尝试了各种方法来做到这一点,但没有成功。任何人都可以帮我解决这个问题吗?
forfiles
答案 0 :(得分:1)
您可以将所有复制的文件名管道传输到文件中,然后计算文件中的行数。在这里我添加了额外的东西,你可以添加输出管道的命令到指示的logfile。完成后,它将回显计数并删除文件。
@echo off
forfiles /p "rest of copy commands" >>logfile.txt
setlocal EnableDelayedExpansion
set "string=findstr /R /N "^^" logfile.txt | find /C ":""
for /f %%a in ('!string!') do set count=%%a
echo %count% files copied
del /Q logfile.txt
答案 1 :(得分:1)
对此可能会有较晚的答案,但是当我尝试这样做时:
set "string=findstr /R /N "^^" logfile.txt | find /C ":""
for /f %%a in ('!string!') do set count=%%a
我得到一个额外的结果,因为我得到了一个空行。因此,我确实需要将-1加到结果中。 在我的系统上了解...