for Befehl und Lange Dateinamen

05/12/2007 - 14:05 von Oskar | Report spam
Salü alle zusammen

Habe mir folgende Batch geschrieben

set vDateiListe=C:\0DatenTestOriginal\DateiListe.txt
set vQuelle=C:\0DatenTestOriginal
set vZiel=C:\0DatenTestKomprimiert
set vLogfile=C:\0DatenTestOriginal\Komprimieren.log
dir %vQuelle%\*.* /s/b > %vDateiListe%
for /f %%a in (%vDateiListe%) do C:\Programme\7-Zip\7z a -tzip "%%a.zip"
"%%a"

Das Problem ist nun, wenn ein Dateiname (Oder ein Ordnername) eine
Leerzeichen beinhaltet, wird der Parameter %%a nur den ersten Teil
beinhalten. Der Ordner "Neuer Ordner" steht also mit "Neuer" im Parameter
%%a

Am liebsten würde ich ja das ganze in zwei Dateien aufteilen. In der ersten
Batch schreibe ich
for /f %%a in (%vDateiListe%) do call Komprimieren.bat %%a

und dann in der Komprimieren Bat folgendermassen:

C:\Programme\7-Zip\7z a -tzip "%1a.zip" "%1"

Aber das bringt mich nicht weiter, denn das Leerzeichen macht ein zweiter
Parameter...



Hat jemand eine Idee, wie ich dieses Problem mit den Leerzeichen umgehen
kann?

Vielen Dank für Hinweise
Gruss Oskar
 

Lesen sie die antworten

#1 Ralph rkhb Bauer
05/12/2007 - 17:55 | Warnen spam
Oskar schrieb:
Salü alle zusammen

Habe mir folgende Batch geschrieben

set vDateiListe=C:\0DatenTestOriginal\DateiListe.txt
set vQuelle=C:\0DatenTestOriginal
set vZiel=C:\0DatenTestKomprimiert
set vLogfile=C:\0DatenTestOriginal\Komprimieren.log
dir %vQuelle%\*.* /s/b > %vDateiListe%
for /f %%a in (%vDateiListe%) do C:\Programme\7-Zip\7z a -tzip



for /f "delims=" %%a IN (%vDateiListe%) do C:\Programme\7-Zip\7z "%%a" -tzip

"%%a.zip" "%%a"

Das Problem ist nun, wenn ein Dateiname (Oder ein Ordnername) eine
Leerzeichen beinhaltet, wird der Parameter %%a nur den ersten Teil
beinhalten. Der Ordner "Neuer Ordner" steht also mit "Neuer" im
Parameter %%a

Am liebsten würde ich ja das ganze in zwei Dateien aufteilen. In der
ersten Batch schreibe ich
for /f %%a in (%vDateiListe%) do call Komprimieren.bat "%%a"



for /f "delims=" %%a IN (%vDateiListe%) do call Komprimieren.bat %%a

und dann in der Komprimieren Bat folgendermassen:

C:\Programme\7-Zip\7z a -tzip "%1a.zip" "%1"



C:\Programme\7-Zip\7z a -tzip "%~1a.zip" "%~1"

Die Tilde (~) ohne alles entfernt die Anführungszeichen:

<http://technet2.microsoft.com/Windo...1.mspx>

viele grüße
ralph

Ähnliche fragen