通过bat文件执行时,转义文件路径中的空格

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

我正在尝试使用bat文件启动一个java进程向它传递几个参数。但问题是cmd只在使用时跳转并且没有显示任何内容:

start cmd/C 

所以做到了

start cmd/K 

给出一个显示此错误的弹出式cmd

'C:\ New'不被识别为内部或外部命令,可操作程序或批处理文件。

为了重现问题的测试目的,您可以通过以下示例启动Java进程。

我已经搜索了一个解决方案,但唯一与问题类似的是使用set和之后使用参数。设置“var = content”

echo正确地打印了包含许多空格的文件夹,例如:“C:\ New Folder and Spaces” 代码如下:

SET "currDir=%~dp0" 
echo %currDir% 
start cmd /K "%currDir%"..\jvm\jre\bin\java.exe -version

如果没有上面提到的错误,我怎么能传递~dp0值,即使它有空格?如果我应该在启动命令中多次使用它,例如:

start cmd /K "%currDir%"..\jvm\jre\bin\java.exe -version -Djava.awt.headless=true %JAVA_OPTIONS% -jar "%~dp0MyJar.jar" -home "%~dp0.." %*
windows batch-file cmd command-line filepath
2个回答
0
投票

如何希望存在短文件和文件夹名称,因为它们从不包含空格?尝试:

set currDir=%~sdp0

(欲了解更多信息,请访问ss64!)

干杯,尼古拉

© www.soinside.com 2019 - 2024. All rights reserved.