lefg 276 Geschrieben 17. Juli 2005 Melden 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.
lefg 276 Geschrieben 17. Juli 2005 Melden 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...
lefg 276 Geschrieben 17. Juli 2005 Melden 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
lefg 276 Geschrieben 17. Juli 2005 Melden 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
lefg 276 Geschrieben 17. Juli 2005 Melden 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
lefg 276 Geschrieben 17. Juli 2005 Melden 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 )
lefg 276 Geschrieben 17. Juli 2005 Melden 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.
lefg 276 Geschrieben 17. Juli 2005 Melden 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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden