minister05
Goto Top

Per Batchdatei Anzahl erzeugter Dateien anzeigen

Gute Morgen zusammen!
Ich habe eine -wahrscheinlich für euch sehr einfache- Frage...
Ich habe ein Script, welches Ordner nach Textdateien durchsucht, in diesen etwas ändert und sie unter einer anderen Dateiendung (*.XXX) abspeichert. Ich habe also wenn die Batch gelaufen ist Beispielsweise die zehn Dateien *.txt die von anfang an da waren und die neu erzeugten zehn Dateien *.XXX in meinem Unterordner. Das Script, welches ich auch mit viel Hilfe aus dem Forum gebastelt habe, läuft soweit gut durch, jetzt stellt sich mir die Frage, ob ich nicht während das Script läuft anzeigen lassen kann, wieviele Dateien *.XXX bereits erzeugt wurden...
Mein script sieht folgendermaßen aus:

@echo off &setlocal
set "gfile=Grunddatei.txt"
del /s "%CD%\TF*.XXX" 2>nul


echo *
echo *
echo *-----------Testfaelle werden erstellt...bitte warten...------------*
echo *
echo *

for /r %cd% %%a in ("TF*".txt) do (
for /f "delims==" %%b in ('^<"%gfile%" findstr "[A-Z]*_[A-Z]*="') do set "%%b="
for /f %%b in ('^<"%%~a" findstr "[A-Z]*_[A-Z]*="') do set "%%~b"
for /f "delims=" %%c in ('findstr /n "^" "%gfile%"') do (
set "line=%%c"
set "prop="
setlocal enabledelayedexpansion
set "line=!line:*:=!"
if "!line:~-1!"=="=" for /f %%d in ('echo "!line:~0,-1!" ^|findstr "[A-Z]*_[A-Z]*"') do set "prop=%%~d"
if defined !prop! for /f %%d in ('set "!prop!"') do set "line=%%~d"
>>"%%~dpa %%~na.XXX" echo(!line!


endlocal
)
)

Habe schon einige Sachen versucht, so a la set /a cnt=0 und dann in der Schleife set /a cnt=cnt+1. Jedoch konnte ich mir das nie anzeigen lassen, wahrscheinlich hab ich einfach nicht dei richtige Stelle gefunden...

Ich hätte gerne folgende Anzeige

echo *
echo Testfall %cnt% wird erstellt......*
echo *

Bekommt man sowas hin?

Content-Key: 220590

Url: https://administrator.de/contentid/220590

Printed on: April 18, 2024 at 14:04 o'clock

Member: Endoro
Endoro Oct 28, 2013 at 15:51:56 (UTC)
Goto Top
Hallo, ich zeig's mal exemplarisch:
echo off &setlocal
set "gfile=Grunddatei.txt"  
del /s "%CD%\TF*.XXX" 2>nul  


echo *
echo *
echo *-----------Testfaelle werden erstellt...bitte warten...------------*
echo *
echo *

for /r %cd% %%a in ("TF*.txt") do (  
	set /a cnt+=1
	call echo Testfall %%cnt%% wird erstellt......*
	for /f "delims==" %%b in ('^<"%gfile%" findstr "[A-Z]*_[A-Z]*="') do set "%%b="  
	for /f %%b in ('^<"%%~a" findstr "[A-Z]*_[A-Z]*="') do set "%%~b"  
	for /f "delims=" %%c in ('findstr /n "^" "%gfile%"') do (  
		set "line=%%c"  
		set "prop="  
		setlocal enabledelayedexpansion
		set "line=!line:*:=!"  
		if "!line:~-1!"=="=" for /f %%d in ('echo "!line:~0,-1!" ^|findstr "[A-Z]*_[A-Z]*"') do set "prop=%%~d"  
		if defined !prop! for /f %%d in ('set "!prop!"') do set "line=%%~d"  
		>>"%%~dpa %%~na.XXX" echo(!line!  
		endlocal
	)
)
type tf*.xxx
lg.
Member: Minister05
Minister05 Oct 29, 2013 at 05:43:41 (UTC)
Goto Top
Wie ich es erwartet habe als ich gesehen habe von wem die Antwort kommtface-smile
Läuft natürlich perfekt...ich hatte fast die gleiche Lösung, nur dass ich das %%cnt%% als %cnt% geschrieben habe. Kannst du mir evtl. den Unterschied beider Schreibweisen erklären, denn mit nur jeweils einem % lief es bei mir nicht...
Und kann man ggf. auch die Unterordner durchsuchen und feststellen wieviele Dateien zu ändern sind? So a la Testfall xx von xxx wird erstellt. Oder wäre das zu viel Aufwand? Auf jeden Fall danke schonmal für alles, hast mir echt - mal wieder - sehr geholfen!!!