Batch-Programmierung - Übergabe von Pfaden mit Leerzeichen und deren Verarbeitung
-
Hi Leute,
ich habe im Grunde ein sehr simples Skript.
Es erwartet einen Parameter (ein Pfad) und hängt da noch den Namen das Unterverzeichnisses ran und übergibt das ganze an copy:mkdir "%1Resources" copy Resources "%1Resources"
Das tut auch ganz gut, solange man es so aufruft:
copyres.cmd C:\Pfad\
Sobald man aber einen Pfad mit Leerzeichen übergeben will muss man den Pfad ja in Hochkommata setzen:
copyres.cmd "C:\Mein Pfad\"
Und hier ist das Problem.
Die Variable %1 hat im Skript exakt den selben Wert inklusive Hochkommata.
d.h. mkdir würde mit dem Parameter""C:\Mein Pfad\"Resources"
aufgerufen, was natürlich einen Syntaxfehler gibt...
Wie könnte ich dieses Problem lösen? Any ideas?
-
ich kenn mich nicht mit Batch-Programmierung aus, aber vielleicht kannst du ja 1x die normalen Anfuehrungszeichen ( ' ) und einmal die doppelten ( " ) nehmen?
-
Nein leider nicht. War auch meine Idee...
-
und wuerd es nicht gehen, die Anfuehrungszeichen im Batch-File einfach wegzulassen?
Andere Alternative: sie beim Aufruf wegzulassen, und statt "C:/Mein Pfad" einfach C:/Mein\ Pfad zu schreiben, also das Leerzeichen zu escapen?
-
Wenn ich sie im Batch-File weglasse hilft das natürlich nichts.
Und escapen geht auch nciht, weil es ein automatisierter Ausruf aus dem VisualStudio heraus ist.Ich werde ein C#-Programm schreiben.
-
mkdir %1"Resources"
-
Yep, danke!
-
mkdir %1Resources funktioniert auch. Ich hatte also doch recht.
-
Blue-Tiger|_work schrieb:
mkdir %1Resources funktioniert auch. Ich hatte also doch recht.
wie weit kommts wenn andere Leute sogar meinen Nick verwenden o_0