如何使用逗号分隔符调用批处理文件中的参数

时间:2011-11-16 02:04:09

标签: batch-file

我想用逗号分隔的参数调用批处理文件。我怎么能做到这一点?

我想要这个例子。

我有一个带脚本的text.bat:

@echo off
set test=%1
echo Sample %test% batch.

我想像这样运行批处理:

c:\text.bat this,is,sample

我期待这样的结果:

Sample this,is,sample batch.

知道如何实现这个目标吗?

感谢。

2 个答案:

答案 0 :(得分:16)

哇!我不知道逗号的表现如何。

您有两种选择。

您可以使用此脚本:

@echo off
set test=%~1
echo Sample %test% batch.

运行它:

C:\text.bat "this,is,test"

%~1表示没有引号的第一个参数。引号将逗号分隔的列表分组为单个参数。

您可以使用此脚本:

@echo off
set test=%*
echo Sample %test% batch.

运行它:

C:\text.bat this,is,test

%*表示键入的命令行参数。

答案 1 :(得分:9)

在批处理文件中,参数分隔符除了空格外还有逗号,分号和等号,因此没有直接的方法可以做到这一点。唯一的选择是将参数括在引号:c:\text.bat "this,is,sample"之间,并使用%~1的参数来消除引号:set test=%~1