2017-10-20 250 views
0

我想写一个命令脚本来执行以下操作。对于特定目录中的每个文件,我想获取文件的文件名和大小。如果文件名是我正在查找的文件大小大于零,我想要处理该文件。从目录获取文件名和文件大小,而不使用递归开关

我可以得到好的文件名,但是我不能在不使用递归开关的情况下得到文件大小。

此代码的工作,但我不希望它在子目录看:

for /f "delims=" %%f in ('dir /s /b /a-d "%input_directory%" ') do (
    set filename=%%~nxf 
    set filesize=%%~zf 
) 

我环顾四周,但一直未能找到我所需要的。任何帮助,将不胜感激。

回答

0

我终于明白了。以下是我用来完成工作的内容。

for /f "tokens=*" %%f in ('dir /b "%input_directory%" ') do (
    set filename=%%~nf 
    if !filename!==somename (set validname=Y) 
    if !validname!==Y (
     for %%a in ("%input_directory%\!filename!") do (
      set filesize=%%~za 
      if !filesize!==0 (
       log as empty file 
      ) else (
       process file 
      ) 
     ) 
    ) 
) 
相关问题