Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Batch variablen mit Leerzeichen ohne " ausgeben

user_310340 / 9 Antworten / Flachansicht Nickles

Hallo Leutz

ich möche an eine Batchdatei Datei und Verzeichnissnamen übergeben die Leerzeichen enthalten,
dass das mit batch "langer Dateiname 1" "Verz 1" also doppelte Anführungszeichen geht ist mir soweit klar.

Wenn ich aber nun die Variablen mit z.B.

ECHO dir "%2\%1" >> neu.txt

in eine neue Datei schreibe werden die Anführungszeichen mit eingefügt
und der Inhalt sieht dann so aus

dir ""Verz 1"\"langer Dateiname 1""

wie kann ich die Anführungszeichen aus den Variablen unterdrücken damit ich

dir "Verz 1\langer Dateiname 1"

erhalte ?

schonmal Danke fürs lesen

clag

bei Antwort benachrichtigen
staubwolke dalai „Ja, sowas an Batch hab ich schon geahnt... Da sind jede Menge Fehler und...“
Optionen

Hallo Dalai,

erstmal danke für die optimierung der batchdatei.
Habe gestern Abend aber bald ne Kriese gekriegt weil es immer noch nicht richtig lief bzw genauso wie mit meiner Variante,
bis ich dahinter gekommen bin, dass eine schließende Klammer ..).. irgendwo im 2. Parameter dafür sorgt,
das inner halb der Schleife %~2 nicht mehr das gewünschte tut ???; ( {} [] sind aber kein Hinderniss.

Mein Problem war nun, das in meinem zufällig auserwähltem Versuchsverzeichnis also im %2 dummerweise ein ) enthalten war,
ist im Pfad also in %1 ein ) macht das nichts ??? es hat schon ne Weile gedauert bis ich das geschnallt hatte :((

Ohne ) in %2 funktionieren jetzt beide Varianten, allerdings ist Deine mit dem in der Schleife integrierten DIR viel eleganter
und wird jetzt auch so von mir angewendet :))

nur versteh ich noch nicht ganz wie's zusammenspielt

trotzdem fettes Danke

Staubwolke

bei Antwort benachrichtigen