我想将命令作为命令行参数从一个批处理文件传递到另一个批处理文件。
e.g。 :
first.bat:
call test.bat "echo hello world" "echo welcome "
test.bat的:
set initialcommand=%1
set maincommand=%2
%maincommand%
%initialcommand%
答案 0 :(得分:4)
以下是您的需求:
first.cmd:
@echo off
set maincommand=echo hello world!
call test.cmd %maincommand%
test.cmd:
@echo off
%*
在这种情况下first.cmd
传递实际命令(您的示例只传递常量字符串"maincommand"
而不是其值)。
此外,test.cmd
执行由每个参数组成的命令,而不仅仅是第一个参数。
当您创建这两个文件并执行first.cmd
时,您会得到:
hello world!
正如所料。