kluivi

Batchdatei zum Auslesen der aktuellsten Datei mit Leerzeichen

Hallo zusammen,

ich hab (dank einer Anleitung in diesem Forum face-smile ) folgendes Batch-Script erstellt, welches ein bestimmtes Verzeichnis ausliest und mir das aktuellste JPG Bild anzeigt:

for /f %%i in ('dir /oD /b \\server.domain\verzeichnis\*.jpg') do @set akt_bild=%%i  
rundll32.exe shimgvw.dll,ImageView_Fullscreen \\server.domain\verzeichnis\%akt_bild%

Das funktioniert auch soweit alles wunderbar, solange das aktuellste JPG Bild keine Leerzeichen im Namen hat.

Sobald das aktuellste Bild in dem Verzeichnis z.B. Bild 1.jpg heißt, wird in die Variable
%akt_bild%
nur noch Bild geschrieben, was so natürlich nicht angezeigt werden kann...

Ich hab schon versucht, mit diversen einfachen und doppelten Anführungszeichen den Code zu ändern, aber leider vergebens.

Darum meine Frage, ob mir von Euch jemand hier weiterhelfen kann?

Vielen Dank schonmal im Voraus und viele Grüße,

Tobi


[Edit Biber] Verschoben von "Tools & Utilities" nach "Batch und Shell". [Biber]
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 74168

Url: https://administrator.de/forum/batchdatei-zum-auslesen-der-aktuellsten-datei-mit-leerzeichen-74168.html

Ausgedruckt am: 10.05.2025 um 11:05 Uhr

bastla
bastla 22.11.2007 um 08:52:25 Uhr
Goto Top
Hallo kluivi und willkommen im Forum!

Die Antwort auf die Leerzeichenproblematik ist in CMD immer das Einschließen in Anführungszeichen sowie das Vermeiden der automatischen Aufteilung in der "for"-Schleife durch Verwendung von "delims=" - daher sollte es so gehen:
for /f "delims=" %%i in ('dir /oD /b \\server.domain\verzeichnis\*.jpg') do @set "akt_bild=%%i"  
rundll32.exe shimgvw.dll,ImageView_Fullscreen "\\server.domain\verzeichnis\%akt_bild%"  

Grüße
bastla
kluivi
kluivi 22.11.2007 um 09:07:19 Uhr
Goto Top
Hallo bastla,

super, vielen Dank für schnelle Antwort!
Das klappt jetzt einwandfrei.

Nur noch zur Info: Die Anführungszeichen beim Pfad in der 2. Zeile muss man weglassen, sonst kommt die shimgvw.dll durcheinander... face-smile

Hier also der funktionierende Code:

for /f "delims=" %%i in ('dir /oD /b \\server.domain\verzeichnis\*.jpg') do @set "akt_bild=%%i"  
rundll32.exe shimgvw.dll,ImageView_Fullscreen \\server.domain\verzeichnis\%akt_bild%

Vielen Dank nochmal und viele Grüße,

Tobi