Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Batchdatei --> Leerzeichen in Dateinamen

INXS / 14 Antworten / Flachansicht Nickles

Hallo,
ich habe ein Verzeichnis:
C:\Temp\Test\
darin liegen zwei Ordner:
"Ordner1" und "Ordner 2"
(beim zweiten ist ein Leerzeichen drin)

Ich habe eine Batchdatei, die alle Verzeichnisse abarbeitet. Leider bringt diese bei "Ordner 2"
nur "Ordner".
Gibt es eine Möglichkeit die batchdatei so umzustellen, dass der Name "Ordner 2" korrekt erkannt wird ?

Hier die Datei:

@echo off
cd C:\Temp\Test

for /f "delims=" %%i in ('dir /b /ad') do call :Schleife %%i
goto :eof

:Schleife
echo %1
echo %~f1
pause
goto :eof

bei Antwort benachrichtigen
Borlander YF2L703S „Batchdatei --> Leerzeichen in Dateinamen“
Optionen
Mit der BAT-Datei arbeitest Du im DOS-Umfeld, d.h. es gelten die DOS-Konventionen -> DOS versteht keine Verzeichnisnahmen die 1. länger als 8 Buchstaben/Ziffern sind & 2. nimmt keine Blanks / Leerzeichen im Verzeichnisnamen.
Bei NT-Systemen laufen Batch-Dateien in keiner DOS-Umgebung, sondern innerhalb der CMD. Die FOR-Struktur gehört überigens bereits zu NT-eigenen Erweiterungen und steht unter DOS gar nicht zur Verfügung. Lange Dateinamen sind auf jeden Fall kein Problem...

An Deiner Stelle würde ich wie folgt vorgehen: Ordner 2 in Ordner2 (ohne Leerzeichen) umbenennen.
Wie schon geschrieben wäre ein Umbenennen nicht erforderlich weil es keine Probleme mit Dateinamen gibt. Selbst wenn das der Fall wäre könnte man dann immer noch auf die 8.3-Version der Dateinamen zurückgreifen.


Gruß
Borlander
bei Antwort benachrichtigen