Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Rename und if exist ergibt endlos loop

Frage Entwicklung Batch & Shell

Mitglied: RaidMan

RaidMan (Level 1) - Jetzt verbinden

20.02.2015, aktualisiert 15:34 Uhr, 682 Aufrufe, 4 Kommentare

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

01.
set verzeichnis=%~1 
02.
set Dateiname=%~2 
03.
set n=0 
04.
 
05.
:again 
06.
if exist "%verzeichnis%%Dateiname%" ( 
07.
ren "%verzeichnis%%Dateiname%"  %n%%Dateiname% 
08.
09.
 
10.
rem pause 
11.
rem 'ping -n 1 -w 1000 128.0.0.1 > nul 
12.
 
13.
if exist %verzeichnis%%Dateiname%" ( 
14.
set /a n=%n%+1 
15.
echo ~~ %n% ~~ 
16.
goto :again  
17.
) else (  
18.
exit 
19.
20.
 
21.
exit 
22.
 
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 ?

Mitglied: emeriks
20.02.2015, aktualisiert um 13:54 Uhr
Hi,
"\" zwischen Verzeichnis und Datei ?

01.
set verzeichnis=%~1 
02.
set Dateiname=%~2 
03.
set n=0 
04.
 
05.
:again 
06.
if exist "%verzeichnis%\%Dateiname%" ( 
07.
ren "%verzeichnis%\%Dateiname%" %n%%Dateiname% 
08.
09.
 
10.
rem pause 
11.
rem 'ping -n 1 -w 1000 128.0.0.1 > nul 
12.
 
13.
if exist %verzeichnis%\%Dateiname%" ( 
14.
set /a n=%n%+1 
15.
echo ~~ %n% ~~ 
16.
goto :again  
17.
) else (  
18.
exit 
19.
20.
 
21.
exit

E.
Bitte warten ..
Mitglied: RaidMan
20.02.2015, aktualisiert um 13:59 Uhr
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
Bitte warten ..
Mitglied: emeriks
LÖSUNG 20.02.2015, aktualisiert um 15:34 Uhr
Ah ja,
Da fehlt ein " !

Zeile 13

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

E.
Bitte warten ..
Mitglied: RaidMan
20.02.2015, aktualisiert um 14:18 Uhr
uhhhhh ähmm

Danke
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
LAN, WAN, Wireless
gelöst HP Switches - Frage zu Spanning Tree bzw. Loop Back Protection (12)

Frage von chfran zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst FOR Loop Variablen ( Batch ) (2)

Frage von clragon zum Thema Batch & Shell ...

Windows Server
gelöst Server-connect ergibt Fehler 500.19 (11)

Frage von beamenwaerschoen zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...