双引号不适用于从命令提示符调用带空格的文件夹
Double quotes is not working for calling a folder with spaces from Command Prompt
我正在尝试从命令提示符创建一个 bat 文件到 运行 testng。问题是我的路径包含许多名称中带有 space 的文件夹。我按照 How to write a full path in a batch file having a folder name with space? 中提到的步骤并为名称中带有 space 的文件夹添加了双引号,但问题是应用程序也在考虑带引号的文件夹名称,因此无法找到给定的文件夹.
这是我的命令。
set ProjectPath="C:\Test\ABC Online"
echo %ProjectPath%
set classpath=%ProjectPath%\bin;%ProjectPath%\Framework Jar Files\*
echo %classpath%
java org.testng.TestNG %ProjectPath%\testng.xml
但每次都会出错 "Error: Could not find or load main class org.testng.TestNG"。在上面的代码中,当我回显 Projectpath 时,我得到了这样的结果。
"C:\Test\ABC Online" (Double quotes)
如果我将文件夹名称更改为 ABC_Online 和 运行 不带双引号的相同命令,它工作得很好。
我是不是漏掉了什么。请提出建议。
在您的 set
命令行中,引号是值的一部分,并且在您的命令行中有尾随空格:
set ProjectPath="C:\Test\ABC Online"
SPACESPACESPACE SPACE
所以命令行 java org.testng.TestNG "%ProjectPath%\testng.xml"
扩展为:
java org.testng.TestNG "C:\Test\ABC Online" \testng.xml
使用以下语法,使空格和引号不会成为变量值的一部分:
set "ProjectPath=C:\Test\ABC Online"
以后使用该值时,像这样加上引号:
java org.testng.TestNG "%ProjectPath%\testng.xml"
我正在尝试从命令提示符创建一个 bat 文件到 运行 testng。问题是我的路径包含许多名称中带有 space 的文件夹。我按照 How to write a full path in a batch file having a folder name with space? 中提到的步骤并为名称中带有 space 的文件夹添加了双引号,但问题是应用程序也在考虑带引号的文件夹名称,因此无法找到给定的文件夹.
这是我的命令。
set ProjectPath="C:\Test\ABC Online"
echo %ProjectPath%
set classpath=%ProjectPath%\bin;%ProjectPath%\Framework Jar Files\*
echo %classpath%
java org.testng.TestNG %ProjectPath%\testng.xml
但每次都会出错 "Error: Could not find or load main class org.testng.TestNG"。在上面的代码中,当我回显 Projectpath 时,我得到了这样的结果。
"C:\Test\ABC Online" (Double quotes)
如果我将文件夹名称更改为 ABC_Online 和 运行 不带双引号的相同命令,它工作得很好。
我是不是漏掉了什么。请提出建议。
在您的 set
命令行中,引号是值的一部分,并且在您的命令行中有尾随空格:
set ProjectPath="C:\Test\ABC Online"
SPACESPACESPACE SPACE
所以命令行 java org.testng.TestNG "%ProjectPath%\testng.xml"
扩展为:
java org.testng.TestNG "C:\Test\ABC Online" \testng.xml
使用以下语法,使空格和引号不会成为变量值的一部分:
set "ProjectPath=C:\Test\ABC Online"
以后使用该值时,像这样加上引号:
java org.testng.TestNG "%ProjectPath%\testng.xml"