我正在尝试使用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.." %*