Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Sonderzeichen & in SET (Kommandozeilen-Befehl)

Mdl / 3 Antworten / Flachansicht Nickles

Nach einem seltsamen Fehlverhalten in einem meiner .bat-Dateien konnte ich dieses auf ein ungewünschtes Verhalten des SET-Befehls zurückführen.

Sobald das Argument (Filenamen) ein (gültiges) Sonderzeichen '&' enthielt, meckerte SET, z.B. bei

  SET filename=a&b.txt

Prinzipiell könnte man daran denken, dies mit "" zu umgehen, wie z.B.

    SET filename="a&b.txt"

aber das würde alle nachfolgenden Zeilen/Aufrufe beeinflussen und evtl. andere Probleme verursachen.

Gibt es vielleicht doch eine Möglichkeit, dass ein SET-Wert ein '&' beinhaltet?
  Vielleicht eine (von mir nicht gefundene) Option oder einen Escape-Character?
Gibt es vielleicht noch andere solche nicht-nutzbaren Zeichen?

Oder muss ich doch mit dem "" experimentieren?

Gruß & Danke,
Mdl

bei Antwort benachrichtigen
mi~we Mdl „Danke mi we, cool! Mal schauen, wie leicht sich dieses Wissen jetzt verwenden lässt. Der Batch- Anwender soll ja ...“
Optionen

Es ist halt in der Eingabeaufforderung immer blöd, wenn Datei- oder Ordnernamen Zeichen enthalten, die für die cmd.exe eine Sonderbedeutung haben.

&: Use to separate multiple commands on one command line. Cmd.exe runs the first command, and then the second command.

Da muss man dann notgedrungen mal "...." oder ein ^ setzen.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen