Top-Themen

Aktuelle Themen (A bis Z)

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

Batch funktioniert nicht mit Leerzeichen in Variablen

Frage Entwicklung Batch & Shell

Mitglied: pbelcl

pbelcl (Level 1) - Jetzt verbinden

19.01.2010 um 15:41 Uhr, 16847 Aufrufe, 9 Kommentare

Ich brings irgendwie nicht hin eine Variable mit einem Leerzeichen zu übergeben

Ich habe ein Batch laufen das funktioniert bestens.

01.
@echo off 
02.
rem chcp 1252 
03.
 
04.
rem Playliste deren Inhalt kopiert werden soll (ohne Pfad!) 
05.
SET liste=Fotos 
06.
 
07.
rem PLS ist der Pfad der Playlist Dateien 
08.
SET PLS=%Workdir%\Fotoalben\ 
09.
 
10.
rem Zielpfad der Dateien 
11.
SET "ZielPfad=p:\CD's\3 - Pocket PC Speicherkarten\My Documents\Eigene Bilder\%liste%" 
12.
 
13.
if exist "%ZielPfad%" rd "%ZielPfad%" /s /q>nul 
14.
pause 
15.
if not exist "%ZielPfad%" md "%ZielPfad%" 
16.
pause 
17.
echo.  
18.
echo Dateien fuer %liste% werden kopiert, bitte um etwas Geduld ...... 
19.
echo. 
20.
 
21.
FOR /F "eol=; delims=" %%i in (%PLS%%liste%.m3u) do ( 
22.
echo copy "%%i" "%zielpfad%\%%~nxi" 
23.
if Exist "%%i" copy "%%i" "%zielpfad%\%%~nxi" /v /y>nul  
24.
rem if EXIST %%i echo kopiere:  %%i  
25.
rem if NOT EXIST %%i echo %%i --- fehlt!>>"%zielpfad%\0_fehlende_Dateien.txt"  
26.
27.
 

Leider sind jetzt einige Dateien dazugekommen die Lerrzeichen habe und ich hab versucht diese in die Variable Liste einzutragen:
also statt:
01.
SET liste=Fotos
neu
01.
SET liste=Bodypainting 2009
Seitdem kann mein Batch irgendwo in der Zeile 21. oder 22. den Dateinamen nicht mehr auflösen.
Ich bekomme eine Fehlermeldung:

01.
Die Datei "p:\Progs\Batch\Fotoalben\Bodypainting" kann nicht gefunden werden.
Das heißt er versucht die Datei nur bis zum ersten Space aufzulösen.

Ich hab schon rumprobiert die Variable in Kommas zu setzen, allerdings bekomm ich die dann wieder nicht raus ;-(

Hat irgendwer eine Ahnung was ich falsch mache?
Oder einen Tipp für mich ??
Mitglied: mayho33
19.01.2010 um 15:50 Uhr
Hi!

Am besten klammerst du deinen Pfad ein. Da in Variablen nicht explizit geklammert wird kannst du das so erzwingen:


chr(34) + "c:\mein pfad mit leerzeichen\ und noch mehr" + chr(34)

chr(34) = ein Anführungszeichen

grüße!

mayho
Bitte warten ..
Mitglied: bastla
19.01.2010 um 16:07 Uhr
... bzw etwas genauer:
FOR /F "usebackq delims=" %%i in ("%PLS%%liste%.m3u") do (
Grüße
bastla
Bitte warten ..
Mitglied: Biber
19.01.2010 um 16:12 Uhr
<OT>
..an der Sammlung "Bodypainting 2009" hätte ich evtl. auch Interesse..
</OT>
Bitte warten ..
Mitglied: pbelcl
19.01.2010 um 17:45 Uhr
Zitat von bastla:
FOR /F "usebackq delims=" %%i in ("%PLS%%liste%.m3u") do ( 
> 
Danke bastla,
Dein Tipp hat, wie immer SOFORT funktioniert!!!

Nur mal eine Frage, weil ich's ja auch verstehen will:

was hat es mit "usebackq" auf sich ??
Ich habs in der Hilfe unter FOR /? zwar gelesen, aber anhand der Beschreibung dort eher umgekehrt verstanden!

Setzt der Befehl Variablen in "automatische" Anführungszeichen die dann wieder verschwinden wenn sie im Weg sind?
Sorry für den Satz, aber ich hab in meiner Unwissenheit keinen besseren
Bitte warten ..
Mitglied: pbelcl
19.01.2010 um 17:49 Uhr
Zitat von Biber:
..an der Sammlung "Bodypainting 2009" hätte ich evtl. auch Interesse..
Leider kann ich mit "2009" nicht dienen, weil ich dieses Jahr keine Zeit hatte!
Aber wenn dich andere Jahre auch interessieren, dann schau mal auf mein Fotoportal
Bitte warten ..
Mitglied: bastla
19.01.2010 um 18:31 Uhr
Hallo pbelcl!
was hat es mit "usebackq" auf sich ??
Kurzfassung: Ohne "usebackq" würde "%PLS%%liste%.m3u" als zu zerlegender Text, nicht als Pfad zu einer Datei, die zeilenweise ausgelesen werden soll, interpretiert ...

Beispiel (für die Direkteingabe, daher jeweils nur ein "%"-Zeichen):
for /f "tokens=1-4 delims=-" %a in ("124-452-668-743") do @echo %a_%d_%b_%c
Grüße
bastla
Bitte warten ..
Mitglied: pbelcl
19.01.2010 um 18:54 Uhr
Ach so, ich glaube ich verstehe ....
Danke auch hier nochmal für deine Hilfe und Mühe!!
lg
Paul
Bitte warten ..
Mitglied: Biber
19.01.2010 um 20:16 Uhr
<OT ii>
Moin, pbelcl,

vielen Dank für den Link - erstaunlich, was sich mit dezentem Make-Up doch erreichen lässt.
Den nächsten World Bodypainting Festival-Termin sollte ich mir wohl vormerken.

Und der Frau von meinem Cheffe geb' ich morgen mal den Tipp mit der Typberatung.... vielleicht räumt die ja den Special Effects Make Up Award 2010 ab
Muss ich nur irgendwie diplomatisch formulieren...

Grüße und danke
Biber
</OT ii>
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch Variable setzten mit Leerzeichen
gelöst Frage von Marlon1Batch & Shell3 Kommentare

Hallo :) Ich würde gerne das man mit "set /p code= " 2 Wörter in die Variable "code" setzen ...

Batch & Shell
Batch Variable erzeugen mit Leerzeichen und Klammern
gelöst Frage von hipfzwirgelBatch & Shell11 Kommentare

Hallo an Alle, ich habe eine lösbare Aufgabe und finde die richtige Schreibweise nicht. Ich muss eine Variable in ...

Installation
BATCH Variable aus .txt Datei ohne Leerzeichen am Ende
Frage von MarciMarc85Installation3 Kommentare

Hallo, Ich hab ein problem und finde einfach nicht den richtigen Lösungsweg. eine Software hat mehrere Windows Dienste, die ...

Batch & Shell
Leerzeichen wird nicht in Variable geschrieben
gelöst Frage von SaschaaaaaBatch & Shell1 Kommentar

Hallo Leute, Ich habe diese Zeile: Und als Ausgabe dann: "C:\Users\Ich\extrac" anstatt den vollen Pfad aller Dateien in diesem ...

Neue Wissensbeiträge
Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 25 MinutenVerschlüsselung & Zertifikate

Interessant SSH-Kommando in CMD.exe und PowerShell

Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement17 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...