【发布时间】:2020-07-05 13:13:58
【问题描述】:
我正在使用命令行创建一些东西并遇到了这个错误 - “x 在这个时候是意外的”,我尝试将变量切换为 x、%%x 和 %x%,但它们都不起作用。以下是部分代码:
echo Please enter the memory value [Recommended: 512M Xms 1024M Xmx]
set /p rams=Xms[MB]=
set /p ramx=Xmx[MB]=
echo %rams%|findstr /R "^[1-9][0-9]*$">nul
if NOT %errorlevel% EQU 0 (
echo Error: Please enter a valid number [Xms].
)
echo %ramx%|findstr /R "^[1-9][0-9]*$">nul
if NOT %errorlevel% EQU 0 (
echo Error: Please enter a valid number [Xmx].
)
if NOT %errorlevel% EQU 0 (
echo Execution failure: Invalid args
pause
goto start
)
set count=0
for %x in (*.jar) do set /a count+=1
if %count% == 1 (
java -Xms%rams%M -Xmx%ramx%M -jar BCU.jar
echo BCU.jar was executed.
pause
goto start
)
if %count% GEQ 1 (
echo [= = = = Multiple file found = = = =]
dir *.jar /B
echo [= = = = = = = = = = = = = = = = = =]
echo Please input file by the whole name with extension.
set /p file=Select File:
if exist %file% (
java -Xms%rams%M -Xmx%ramx%M -jar %file%
echo %file% was executed.
pause
) else (
echo File was not found.
pause
)
goto start
)
由于某种原因,当我从命令提示符处执行 for 命令时,它可以正常工作,但在运行时却不行。
- 我以管理员身份运行程序
- 只有for部分有问题,上面的都正常
- 预计将定义计数值并能够用于下面的 IF 语句
- 众所周知,java 行可以正常工作,没有问题
完整文件位于:https://drive.google.com/file/d/1SgdoyCL5qaZGIWGJQDUKEJyEyUI2Y2u8/view?usp=sharing
【问题讨论】:
标签: batch-file