2017-10-20 249 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 
      ) 
     ) 
    ) 
) 
相關問題