raidman
Goto Top

Rename und if exist ergibt endlos loop

Hallo Leutz,

mit einer kleinen batch will ich in einem Verzeichnis auf eine Datei prüfen diese Datei umbenennen und dann erneut prüfen,
aber das endet in einer ungewollten Endlosschleife da nach dem

set verzeichnis=%~1
set Dateiname=%~2
set n=0

:again
if exist "%verzeichnis%%Dateiname%" (  
ren "%verzeichnis%%Dateiname%"  %n%%Dateiname%  
)

rem pause
rem 'ping -n 1 -w 1000 128.0.0.1 > nul  

if exist %verzeichnis%%Dateiname%" (  
set /a n=%n%+1
echo ~~ %n% ~~
goto :again 
) else ( 
exit
)

exit

leider ergibt das eine wunderbare "Rennschleife"

was muss ich ändern damit das zweite "if exist" richtig hinschaut
und merkt das die Datei umbenannt ist und nicht mehr existiert ?

Content-Key: 264071

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

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

Member: emeriks
emeriks Feb 20, 2015 updated at 12:54:08 (UTC)
Goto Top
Hi,
"\" zwischen Verzeichnis und Datei ?

set verzeichnis=%~1
set Dateiname=%~2
set n=0

:again
if exist "%verzeichnis%\%Dateiname%" (  
ren "%verzeichnis%\%Dateiname%" %n%%Dateiname%  
)

rem pause
rem 'ping -n 1 -w 1000 128.0.0.1 > nul  

if exist %verzeichnis%\%Dateiname%" (  
set /a n=%n%+1
echo ~~ %n% ~~
goto :again 
) else ( 
exit
)

exit


E.
Member: RaidMan
RaidMan Feb 20, 2015 updated at 12:59:56 (UTC)
Goto Top
Hi

ja %1 endet mit "\"

das erste if exist tut ja richtig und die Datei bekommt die Nummer Vorangestellt

aber das zweite "if exist" glaubt auch immer noch das die %2 Datei existiert obwohl sie ja gerade umbenannt wurde ??

Gruß
RaidMan
Member: emeriks
Solution emeriks Feb 20, 2015 updated at 14:34:29 (UTC)
Goto Top
Ah ja,
Da fehlt ein " !

Zeile 13

if exist "%verzeichnis%\%Dateiname%" (

E.
Member: RaidMan
RaidMan Feb 20, 2015 updated at 13:18:38 (UTC)
Goto Top
uhhhhh ähmm face-confused

Danke