robx

Batch unter XP, Leerzeichen in Variable

geschlossengelöstFrageBatch, Shell Entwicklung
Hallo,

ich will unter XP folgendes machen:

:: set PROG="C:\Programme\"
set PROG="C:\Program Files\"
set USR="XXXX"

%PROG%OpenSSH\bin\mkpasswd -l -u %USR% >> %PROG%OpenSSH\etc\passwd

Wie muß ich die Maskierung vornehmen ?
Danke für jeden Hinweis !

Gruß, rob
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 86545

Url: https://administrator.de/forum/batch-unter-xp-leerzeichen-in-variable-86545.html

Ausgedruckt am: 18.07.2025 um 05:07 Uhr

SlainteMhath
SlainteMhath 28.04.2008 um 11:56:03 Uhr

Wie muß ich die Maskierung vornehmen ?

So:

"%PROG%"OpenSSH\bin\mkpasswd -l -u %USR% >> "%PROG%"OpenSSH\etc\passwd

sollte es genügen.
bastla
bastla 28.04.2008 um 11:58:06 Uhr
Hallo robx!

Ich tendiere dazu, weder den abschließenden Backslash, noch die Anführungszeichen mit in die Variable aufzunehmen, weil der Pfad in der Verwendung damit lesbarer und flexibler wird - daher:
set "PROG=C:\Program Files"  
set USR="XXXX"  

"%PROG%\OpenSSH\bin\mkpasswd" -l -u %USR% >> "%PROG%\OpenSSH\etc\passwd"  
Nützlich könnte auch noch der Umstand sein, dass es eine Systemvariable %ProgramFiles% gibt (für weitere Systemvariablen einfach in einer Konsole "set" eingeben) - damit müsstest Du auch nicht nach der Sprache (dt. / engl.) unterscheiden. Damit sähe das dann so aus:
set USR="XXXX"  

"%ProgramFiles%\OpenSSH\bin\mkpasswd" -l -u %USR% >> "%ProgramFiles%\OpenSSH\etc\passwd"  

Grüße
bastla
robx
robx 28.04.2008 um 14:04:55 Uhr
super.

DANKE euch beiden für die zügige Antwort !

Gruß, rob