我需要在运行时将 ID 和密码传递给批处理文件,而不是将它们硬编码到文件中。
这是命令行的样子:
test.cmd admin P@55w0rd > test-log.txt
另一个有用的提示是使用%*
表示 “全部”。例如:
echo off
set arg1=%1
set arg2=%2
shift
shift
fake-command /u %arg1% /p %arg2% %*
当你运行:
test-command admin password foo bar
上面的批处理文件将运行:
fake-command /u admin /p password admin password foo bar
我的语法可能略有错误,但这是一般的想法。
我是这样做的:
@fake-command /u %1 /p %2
这是命令的样子:
test.cmd admin P@55w0rd > test-log.txt
%1
适用于第一个参数%2
(这里是棘手的部分)适用于第二个参数。您最多可以以这种方式传递 9 个参数。
如果您想要智能地处理缺少的参数,您可以执行以下操作:
IF %1.==. GOTO No1
IF %2.==. GOTO No2
... do stuff...
GOTO End1
:No1
ECHO No param 1
GOTO End1
:No2
ECHO No param 2
GOTO End1
:End1