Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理:用空格回显两个参数_Batch File_Batch Processing - Fatal编程技术网

Batch file 批处理:用空格回显两个参数

Batch file 批处理:用空格回显两个参数,batch-file,batch-processing,Batch File,Batch Processing,我正在编写批处理脚本,在回显两个变量时遇到了一些问题。为此,我创建了该文件 测试蝙蝠 回显%2% echo“调用两个参数” 回声-%1%%2% 调用时,会出现什么输出: test.bat 1235 899 899 "Calling Two Paramters" - `12352` 现在,预期输出必须为: 1235 899 请帮助更改您的test.bat,如下所示: echo "Calling Two Paramters" echo - %~1 echo %1 %2%

我正在编写批处理脚本,在回显两个变量时遇到了一些问题。为此,我创建了该文件 测试蝙蝠

回显%2%

echo“调用两个参数”

回声-%1%%2%

调用时,会出现什么输出:

test.bat 1235 899
899
"Calling Two Paramters"
- `12352`
现在,预期输出必须为:

1235 899

请帮助更改您的test.bat,如下所示:

echo "Calling Two Paramters"

echo - %~1
echo %1 %2%
这样称呼它:

echo "Calling Two Paramters"

echo - %~1
echo %1 %2%
test.bat“1235 899”

子例程和批处理文件参数仅在开头有
%

带分隔符的参数需要用双引号括起来


%~1
此处的tilda用于取消引用。

修改脚本的最后一行,如下所示:

echo "Calling Two Paramters"

echo - %~1
echo %1 %2%

您的错误:

@echo off
echo %2
echo "Calling Two Paramters"
echo - %1 %2
在批处理文件中使用参数时,没有尾随的百分比字符。因此,第一个参数是%1,而不是%1%

奖金提示:

@echo off
echo %2
echo "Calling Two Paramters"
echo - %1 %2
我喜欢使用@echo off作为批处理文件的第一行,因此命令解释器在解析(和执行)它们之前不会回显所有行

示例:

@echo off
echo %2
echo "Calling Two Paramters"
echo - %1 %2

如果您不想使用@echo,可以将其丢弃;)

您希望将
1235 899
视为单个参数,还是希望将其视为两个参数
1235
899
?两个不同的参数可以。。。所以正确的最后一行是:
echo-%~1%~2
(正如@npocmaka在中已经指出的,只有一个
%
参数,而
~
修饰符消除了qouotes周围的潜在影响;显然你的问题对他来说不够清楚——就像我一样——所以他将这两个数字解释为一个参数)…谢谢您的帮助…不。我有两个不同的参数,因为我需要将这两个参数传递给调用脚本,其中第一个是我的streamname,第二个是version.@R.Sha-然后您可以使用
echo%1%2
这会起作用,但因为有一个黑客会将最后一个
%
解释为空变量的开始。请注意最好使用
echo%1%2
,或者更好的
echo%~1%~2