如何将命令行参数传递给批处理文件?
我需要在运行时将id和密码传递给cmd(或bat)文件,而不是将它们硬编码到文件中。
以下是命令行的外观:
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 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
链接地址: http://www.djcxy.com/p/5123.html
上一篇: How do I pass command line parameters to a batch file?
下一篇: Why doesn't the 'where' command display any output when running in PowerShell?