要求是我有1个文件夹,并且在该文件夹中有很多 txt文件,并且每天有100个文件着陆和处理,现在我想监视文件中存在多少个文件我在今天的日期运行bat文件时的文件夹。
下面是我一直在使用的脚本,但似乎它正在工作但只取出所有文档而不是今天的文档
@echo off setlocal enabledelayedexpansion set c1=0 for /f "tokens=*" %%x in ('dir /s /a /b "D:\Flow\Flow1\Flow2\Flow3\KEN*.txt" 2^>nul') do set /a c1+=1 echo.KEN,!c5!
答案 0 :(得分:0)
这是你的意思吗?
从命令提示符:
(For /F %A In ('Dir/S/W/A-D-S-L "D:\Flow\Flow1\Flow2\Flow3\NGR*.txt" 2^>Nul') Do @Call Set "fC=%dC%"&Set "dC=%A")&Call Echo(%fC%
从批处理文件:
@Echo Off
SetLocal EnableDelayedExpansion
Set "dC="
For /F %%A In ('Dir/S/W/A-D-S-L "D:\Flow\Flow1\Flow2\Flow3\NGR*.txt" 2^>Nul'
) Do Set "fC=!dC!"&Set "dC=%%A"
Echo %fC%
Pause
您也可以选择在%DATE% @ %TIME%
行添加5
。
答案 1 :(得分:0)
查找“今天创建”文件的一个方便的命令是forfiles
命令(不经常使用,可能是因为它反直觉的语法和一些奇怪的东西)。将其移至find /c
以获取计数,在其周围放置for /f
并完成操作:
set "days=0"
REM 0 for "created zero days ago" = "created today"
set count=0
REM for /f %%x in ('forfiles /D %days% /P "D:\Flow\Flow1\Flow2\Flow" /m "KEN*.txt" ^|find /i /c ".txt"') do set count=%%x
echo KEN,%count%
将days
设置为3
以获取超过三天(今天和前两天)的文件 - 可能在周一有用。
(“零天老”的意思是“今天”(不是最后24小时,但是从00:00开始) - 只是其中一个奇怪的事情)