2017-10-20 3 views
0

Ich versuche, ein Befehlsskript zu schreiben, um Folgendes zu tun. Für jede Datei in einem bestimmten Verzeichnis möchte ich den Dateinamen und die Größe der Datei erhalten. Wenn der Dateiname ist, wonach ich suche und die Dateigröße größer als Null ist, möchte ich die Datei verarbeiten.Get Dateiname und Dateigröße aus dem Verzeichnis ohne rekursiven Schalter

Ich kann den Dateinamen gut erhalten, aber ich kann die Dateigröße nicht ohne den rekursiven Schalter erhalten.

Dieser Code funktioniert, aber ich will sie nicht in einem Unterverzeichnis suchen:

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

Ich habe umsah aber nicht gelungen, zu finden, was ich brauche. Jede Hilfe wäre willkommen.

Antwort

0

Ich habe es endlich herausgefunden. Hier ist, was ich getan habe, um die Arbeit zu erledigen.

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 
      ) 
     ) 
    ) 
) 
Verwandte Themen