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, 692 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
Router & Routing

192.168er Adresse im öffentlichen Netz

(1)

Erfahrungsbericht von visco-c zum Thema Router & Routing ...

Ähnliche Inhalte
Windows 7
gelöst Netzwerkkarte vlan fähig ergibt mehrere virtuelle Netzwerkkarten (3)

Frage von Wein-A zum Thema Windows 7 ...

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 ...

Heiß diskutierte Inhalte
Zusammenarbeit
Als Administrator im Großraumbüro (23)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (19)

Frage von Driphex zum Thema Exchange Server ...

Hyper-V
HYPER V und USB (16)

Frage von Hendrik2586 zum Thema Hyper-V ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...