这个批处理文件有什么问题,它发现了数百个

时间:2017-05-23 19:34:54

标签: batch-file

为什么当我在早上第一件事情上运行时,我得到了数百个结果

@echo off
:: it only shows files on you pc that arrived that day. 
SETLOCAL EnableDelayedExpansion
DIR  /b /s /a c:\*.* >todays.txt
set count=0
FOR /F "usebackq tokens=* delims=," %%G IN ("todays.txt") DO (call :sub1 "%%G")
echo Todays file count=%count%
pause
 :: end of program
    :sub1
      set dat=%~t1
      SET fdate=%dat:~0,8%
      if "%fdate%"=="%date%" (
      echo.%count%  %1 %dat%
      set /a count=%count%+1
     )
     goto :eof

为什么当我在早上第一件事情上运行时,我得到了数百个结果

1 个答案:

答案 0 :(得分:0)

由于您只对文件感兴趣,因此我将/a开关(不执行任何操作)更改为/a-d以禁止显示目录名被报告为"文件"。

使用tokens=*指定delims真的没有意义,因为tokens=*无论如何都会重现该行。