Thema: Delphi Pfad richtig Escapen

Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#12

AW: Pfad richtig Escapen

  Alt 21. Aug 2012, 17:33
Anführungszeichen werden in Batch gar nicht escaped sondern verdoppelt (oder vervierfacht). Escapen muss man nur Pipe (|), Umleitungen (< und >) sowie Befehlsgruppierungen (& und &&) und ggf. Klammern (welche ebenfalls der Befehlsgruppierung dienen).

Davon abgesehen frage ich mich aber noch, warum du die EXE nicht direkt ausführst. Das geht doch einfacher als der Umweg über CMD, oder nicht?

Ergänzung: Zur Expandierung von Umgebungsvariablen nutze ich diese Funktion:
Delphi-Quellcode:
function ExpandEnvStr(const sInput: string): string;
const
  MAXSIZE = 32768; // laut PSDK sind 32k das Maximum
begin
  SetLength(Result, MAXSIZE);
  SetLength(Result,
            ExpandEnvironmentStrings(PChar(sInput), @Result[1], Length(Result))-1);
            //-1 um abschließendes #0 zu verwerfen
end;
Die wird aber wahrscheinlich nicht mit WideStrings/Unicode funktionieren, schätze ich (ich weiß es nicht, weil ich bisher keine Notwendigkeit hatte, meine Programme darauf anzupassen und/oder zu testen).

MfG Dalai

Geändert von Dalai (21. Aug 2012 um 17:36 Uhr)
  Mit Zitat antworten Zitat