如何通过批处理文件将命令作为命令行参数传递

Hem*_*shi 3 file batch-file

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

例如:

第一个.bat:

call test.bat "echo hello world" "echo welcome "
Run Code Online (Sandbox Code Playgroud)

测试.bat:

set initialcommand=%1

set maincommand=%2

%maincommand%

%initialcommand%
Run Code Online (Sandbox Code Playgroud)

pax*_*blo 5

这是您需要的:

first.cmd:

@echo off
set maincommand=echo hello world!
call test.cmd %maincommand%
Run Code Online (Sandbox Code Playgroud)

test.cmd:

@echo off
%*
Run Code Online (Sandbox Code Playgroud)

在这种情况下first.cmd传递实际命令(您的示例仅传递常量字符串"maincommand"而不是其值)。

此外,test.cmd执行由每个参数组成的命令,而不仅仅是第一个。

当你创建这两个文件并执行时first.cmd,你会得到:

hello world!
Run Code Online (Sandbox Code Playgroud)

正如预期的那样。