首先,对于初学者来说,我是一名磨砂编码器,我喜欢玩批处理脚本。 我不想打开多个命令行窗口,所以我试图将所有内容编写到这个1批处理文件中,包括运行标准命令行命令的能力。
这是我的代码部分,我遇到了问题。
:three
echo.
echo ***************************
echo **Enhanced Command Prompt**
echo ***************************
:three.b
echo.
set /p Return=Enter Command:
if '%Return%'=='Return' goto home
cmd /c %Return%
goto three.b
注意:我也删除了cmd / c,%Return%excutes没有问题,但为了个人喜好,我保留了cmd / c。
这一行文字的问题是执行一个命令,例如" Ping Google.com"撞坏了窗户。 ipconfig / all也是如此,其他任何似乎都没有立即执行。 如果我删除" IF = Return",那么我在运行ping google.com或其他任何内容时都没有问题,但是我最终没有IF语句而被困在这部分代码中。 IF语句本身起作用,但是" Ping X"和其他命令不会崩溃批处理文件。
任何帮助都将不胜感激。
谢谢!
答案 0 :(得分:0)
您将需要在if
中使用双引号,因为这是引用/比较批处理文件中字符串的正确方法。
:three
echo.
echo ***************************
echo **Enhanced Command Prompt**
echo ***************************
:three.b
echo.
set /p Return=Enter Command:
if "%Return%" == "Return" goto home
cmd /c %Return%
goto three.b