2010-05-21 179 views
3

我想将命令作为命令行参数从一个批处理文件传递到另一个批处理文件。如何通过批处理文件传递命令作为命令行参数

例如:

first.bat:

call test.bat "echo hello world" "echo welcome " 

下的test.bat:

set initialcommand=%1 

set maincommand=%2 

%maincommand% 

%initialcommand% 
+5

Hema,您需要接受以前询问的6个问题中的一部分的答案。那么你会得到更好的回应 – shinynewbike 2010-05-21 05:59:49

+1

OMG!有人在这里呆了很长时间,他们有6个代表和7个问题,他们没有接受任何答案。快,带出绞索:-) – paxdiablo 2010-05-21 06:07:33

+0

@paxdiablo。所有这些都很有趣,但如果没有任何声誉,他们可以诚实地说他们会使用SO。 – 2010-05-21 08:02:58

回答

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! 

预期。