Nic*_*nas 3 windows batch-file
我需要一个批处理文件来监视我的Downloads文件夹的添加内容,但只有新增内容.像这样的东西:
:START
NumOldFiles = GetNumberOfFilesOld
Delay_30_Seconds
NumNewFiles = GetNumberOfFilesNew
if(NumFilesOld < NumFilesNew)
run_another_batch_file_I_wrote
goto START
else
goto START
Run Code Online (Sandbox Code Playgroud)
我不想计算子文件夹,只计算目录中的文件夹和文件.
我一直在看这个:
dir "C:\folder" /b/a |find /v /c "::"
但我不知道如何存储这个值并将其测试为<或>.
也许有更好的方法来做到这一点,但我现在想不到一个.也许维护一个列表,如果新列表有一个新文件运行批处理脚本,用新列表替换旧列表,我真的不确定如何去做.
下面的代码片段可以让您朝着正确的方向前进.它用于dir /b获取文件的原始列表并使用fc(文件比较)来检查每次执行检查之间的差异.
您可以使用任务计划程序每x分钟启动一次此批处理文件:
@echo off
if not exist c:\OldDir.txt echo. > c:\OldDir.txt
dir /b "d:\My Folder" > c:\NewDir.txt
set equal=no
fc c:\OldDir.txt c:\NewDir.txt | find /i "no differences" > nul && set
equal=yes
copy /y c:\Newdir.txt c:\OldDir.txt > nul
if %equal%==yes goto :eof
rem Your batch file lines go here
Run Code Online (Sandbox Code Playgroud)
我一直很喜欢Ritchie Lawrence 的批量函数库.调用其中一个函数GetDirStats.
该GetDirStats函数返回指定目录的文件数,子目录和总大小.可能方便将来参考.虽然它只在NT4/2000/XP/2003上测试过.
只需更改compact/s为compact不扫描子文件夹即可.
| 归档时间: |
|
| 查看次数: |
14621 次 |
| 最近记录: |