我想用逗号分隔的参数调用批处理文件。我怎么能做到这一点?
我想要这个例子。
我有一个带脚本的text.bat:
@echo off
set test=%1
echo Sample %test% batch.
我想像这样运行批处理:
c:\text.bat this,is,sample
我期待这样的结果:
Sample this,is,sample batch.
知道如何实现这个目标吗?
感谢。
答案 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
。