Per batch etwas aus suchliste suchen und nummerieren
ich habe mal wieder ein Problem und zwar habe ich eine Suchliste:
error 21-04-05*
error 21-03-06*
error 25-03-07*
jetzt suche ich mit dem Befehl dir nach den Dateien und bekomme diese Ergebnisse
C:\error\error 21-04-05_1.log
C:\error\error 21-04-05_2c.log
C:\error\error 21-03-06.log
C:\error\error 25-03-07_1.log
C:\error\error 25-03-07pro.log
jetzt möchte ich die ganze Sache nummerien und das ohne Pfad also ich möchte nachher so einen txt haben.
1 - error 21-04-05_1.log
1 - error 21-04-05_2c.log
2 - error 21-03-06.log
3 - error 25-03-07_1.log
3 - error 25-03-07pro.log
und noch cooler wäre es wenn das so aus sehen würde
001 - error 21-04-05_1.log
001 - error 21-04-05_2c.log
002 - error 21-03-06.log
003 - error 25-03-07_1.log
003 - error 25-03-07pro.log
...
106 - error 28-03-10_1.log
106 - error 28-03-10pro.log
ich habe auch schon ein script geschriebn nur irgendwie zählt der bei mir die zahl nicht hoch.
set /a var1=1
set /a var2=1
for /f "delims=" %%i in (suche.txt) do ( dir "%%i" /b /s >pfade.txt
for /f "usebackq tokens=3 delims=\" %%s in ("pfade.txt") do ( echo %%s >>"Name.txt"
for /f "usebackq delims=" %%i in ("Name.txt") do echo %var1% - %%i>>copy.txt
del Name.txt)
set /a var1=%var1%+%var2%)
ich hoffe mir kann einer helfen.
schon mal vielen Dank im voraus
error 21-04-05*
error 21-03-06*
error 25-03-07*
jetzt suche ich mit dem Befehl dir nach den Dateien und bekomme diese Ergebnisse
C:\error\error 21-04-05_1.log
C:\error\error 21-04-05_2c.log
C:\error\error 21-03-06.log
C:\error\error 25-03-07_1.log
C:\error\error 25-03-07pro.log
jetzt möchte ich die ganze Sache nummerien und das ohne Pfad also ich möchte nachher so einen txt haben.
1 - error 21-04-05_1.log
1 - error 21-04-05_2c.log
2 - error 21-03-06.log
3 - error 25-03-07_1.log
3 - error 25-03-07pro.log
und noch cooler wäre es wenn das so aus sehen würde
001 - error 21-04-05_1.log
001 - error 21-04-05_2c.log
002 - error 21-03-06.log
003 - error 25-03-07_1.log
003 - error 25-03-07pro.log
...
106 - error 28-03-10_1.log
106 - error 28-03-10pro.log
ich habe auch schon ein script geschriebn nur irgendwie zählt der bei mir die zahl nicht hoch.
set /a var1=1
set /a var2=1
for /f "delims=" %%i in (suche.txt) do ( dir "%%i" /b /s >pfade.txt
for /f "usebackq tokens=3 delims=\" %%s in ("pfade.txt") do ( echo %%s >>"Name.txt"
for /f "usebackq delims=" %%i in ("Name.txt") do echo %var1% - %%i>>copy.txt
del Name.txt)
set /a var1=%var1%+%var2%)
ich hoffe mir kann einer helfen.
schon mal vielen Dank im voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 175142
Url: https://administrator.de/contentid/175142
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
3 Kommentare
Neuester Kommentar
Dein Stichwort heißt "verzögerte Variablenerweiterung". Siehe auch hier.
Hallo Thomas0204 (ich habe kein Problem - auch nicht damit, eine kurze Begrüßung zu verwenden)!
Ergänzend zu Friemlers Hinweis: Zwischendateien wie "pfade.txt" oder "Name.txt" sind eigentlich nicht erforderlich - es sollte in etwa
genügen (ungetestet) ...
Grüße
bastla
P.S.: "Code"- lässt sich auch nachträglich noch durchführen ...
Ergänzend zu Friemlers Hinweis: Zwischendateien wie "pfade.txt" oder "Name.txt" sind eigentlich nicht erforderlich - es sollte in etwa
@echo off & setlocal enabledelayedexpansion
set /a var1=1001
for /f "delims=" %%i in (suche.txt) do (
for /f "delims=" %%s in ('dir "%%i" /b /s') do echo %var1:~-3% - %%~nxs
echo\
set /a var1+=1
)>>copy.txt
Grüße
bastla
P.S.: "Code"- lässt sich auch nachträglich noch durchführen ...