lefg 276 Geschrieben 17. Juli 2005 Melden Teilen Geschrieben 17. Juli 2005 Soll ich weitermachen oder möchtest du selbst? for /f "tokens=3,4 skip=4" %%i in ('dir /a-d /og') do echo %%i %%j >> testdir.txt Mit dir /a-d /og werden die Verzeichnisse nicht mehr ausgegeben. Das hätte ich Anfangs schon machen sollen. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Juli 2005 Melden Teilen Geschrieben 17. Juli 2005 Wenn ich jetzt mit der Überprüfung starten will, wie kann ich nur einen Teil des Dateinamens überprüfen? In Windows geht dies mit *simpsons*.txt findet auch The_simpsons_3.txt Guck dir mal den Set-Befehl an! Dort kann man indizieren, extrahieren. Mit FIND und FINDSTR bin ich nicht ganz so vertraut Ich schau mal in die Gegend, komme aber zurück. Falls du Fragen hast... Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Juli 2005 Melden Teilen Geschrieben 17. Juli 2005 Mit den Wildcard geht es natürlich auch. for /f "tokens=3,4 skip=4" %%i in ('dir /a-d /og *narolski*') do echo %%i %%j >> testdir.txt 673 030220051134NarolskiTR411-PC19.txt 673 030320050804NarolskiTR411-PC19.txt 673 040120051128NarolskiTR411-PC19.txt 673 040220050809NarolskiTR411-PC19.txt Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Juli 2005 Melden Teilen Geschrieben 17. Juli 2005 Dann führen wir noch eine Variable %search% ein. set search=*narolski* for /f "tokens=3,4 skip=4" %%i in ('dir /a-d /og %search%') do echo %%i %%j >> testdir.txt Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Juli 2005 Melden Teilen Geschrieben 17. Juli 2005 Man kann auch beim Aufruf der Batch einen Parameter übergeben. Batchname.bat *narolski* set search=%1 for /f "tokens=3,4 skip=4" %%i in ('dir /a-d /og %search%') do echo %%i %%j >> testdir.txt So müsste es auch gehen. for /f "tokens=3,4 skip=4" %%i in ('dir /a-d /og %1') do echo %%i %%j >> testdir.txt Den Token 4, Skip und die %%j brauchen wir nicht. for /f "tokens=3" %%i in ('dir /a-d /og %1') do echo %%i >> testtext.txt 672 87 448 448 448 448 Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Juli 2005 Melden Teilen Geschrieben 17. Juli 2005 Nun bauen wir mal einen Block mit Bedingungen usw., schön einklammern. for /f "tokens=3" %%i in ('dir /a-d /og %1') do ( if %%i lss 400 echo %%i >> testlss400.txt if %%i gtr 600 echo %%i >> testgtr600.txt if %%i gtr 500 if %%i lss 600 echo %%i >> testgtr500.txt ) Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Juli 2005 Melden Teilen Geschrieben 17. Juli 2005 Dann blenden wir noch das 1000er-Trennzeichen aus. Hätte auch schon am Anfang geschehen solln, bin eben aus der Übung. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 17. Juli 2005 Melden Teilen Geschrieben 17. Juli 2005 Jetzt gehts an Moven und dazu brauchen wir wieder den Dateinamen und müssen das Token 4 und %%j wieder einführen. for /f "tokens=3,4" %%i in ('dir /-c /a-d /og %1') do ( if %%i lss 400 move %%j c:\ordner400 if %%i gtr 600 move %%j c:\ordner600 if %%i gtr 500 if %%i lss 600 move %%j c:\ordner500 ) pause Das muss ich erstmal testen. Da ist was schiefgegangen. Die Dateien sind weg und da sind so komische Dinger, die ich noch nicht gesehen habe. Beim Move stimmen wohl die Parameter nicht. Ich mache jetzt Feierabend, wird Zeit. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.