batlerner
Goto Top

Mit Batch Dateinamen mit Leerzeichen auslesen und als Variable speichern

Hallo,

ich fange erst gerade an mit der Batch - Programmierung. Ich versuche im Moment mit einem Programm welches mit mehreren Ordnern zusammen liegt, die .zip Dateien in den benachbarten Ordnern zu entpacken.
Das mit dem entpacken ist nicht das Problem. Das hab ich schon herausgefunden.

Um die Datei zu entpacken muss ich aber meiner entzipp-Funktion den Pfad übergeben.
Mein Problem ist, dass der Dateiname auch Leerzeichen enthält, welche ich nicht eingelesen bekomme.

Pfad als Beispiel: C:\Users\batlerner\Desktop\Entzippen\M1_Z1_HC61_020RB_100\M13831HC61020R1 - (2019_04_03 - 09_14_05).zip
Dateiname: M13831HC61020R1 - (2019_04_03 - 09_14_05).zip


Hier mein Code:
setlocal enabledelayedexpansion

for /f %%a IN ('dir /b /s "*.zip"') do (  
REM Ausgabe des Pfades zum Überprüfen
echo a: "%%a"  

REM hier kommt dann die Funktion zum entpacken
)
pause


In der Ausgabe kommt jetzt nur dieser Pfad: C:\Users\batlerner\Desktop\Entzippen\M1_Z1_HC61_020RB_100\M13831HC61020R1
also bis zum 1. Leerzeichen und der Rest mit .zip fehlt.

Könnt ihr mir weiterhelfen, was ich verändern muss, um den Dateinamen "ganz" zu bekommen?

Vielen Dank!

Content-Key: 441313

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

Ausgedruckt am: 28.03.2024 um 14:03 Uhr

Mitglied: 139374
Lösung 139374 17.04.2019 aktualisiert um 11:06:42 Uhr
Goto Top
Du hast den delims Parameter vergessen , ohne den werden die Strings anhand von Leerzeichen und Tabs in Tokens aufgeteilt
for /f "delims=" %%a IN ('dir /b /a-d /s "*.zip"') do (  
   echo "%%a"  
)
Hier lesen
Tutorial zur FOR-Schleife
Mitglied: batlerner
batlerner 17.04.2019 um 11:17:15 Uhr
Goto Top
@139374

Vielen Dank für deine schnelle Antwort!