如何在批处理文件中传递带有空格的命令行参数[重复]

问题描述 投票:0回答:3

我需要从命令行将参数行

AB CD
传递到批处理文件。该参数指的是文件名。

如果我使用

AB CD
脚本只需选择第一部分并返回
Unable to find the file AB.txt

如果我在我的参数周围加上引号,例如

"AB CD"
我得到了

"AB CD".txt 
Illegal characters in path.
variables batch-file
3个回答
43
投票

你可以使用%~1代替%1

例如 test.bat 带有:

echo %~1

然后将显示对

test "abc de"
的调用:

abc de

13
投票

你能做的是

>batch.bat "ab cd.txt"

当参数包含空格时,可以用引号引起来。


2
投票

如果它只接受 1 个参数,请使用

"%*"
你不需要引用参数

myapp.cmd

@echo off
echo "%*"

测试一下

myapp single parameter with space
© www.soinside.com 2019 - 2024. All rights reserved.