robx
Goto Top

Batch unter XP, Leerzeichen in Variable

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

Content-Key: 86545

Url: https://administrator.de/contentid/86545

Printed on: April 20, 2024 at 01:04 o'clock

Member: SlainteMhath
SlainteMhath Apr 28, 2008 at 09:56:03 (UTC)
Goto Top

Wie muß ich die Maskierung vornehmen ?

So:

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

sollte es genügen.
Member: bastla
bastla Apr 28, 2008 at 09:58:06 (UTC)
Goto Top
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
Member: robx
robx Apr 28, 2008 at 12:04:55 (UTC)
Goto Top
super.

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

Gruß, rob