我试图为我的shell创建一个.bat文件:启动以方便访问。 .bat不接受别人作为一个术语。我可以做些什么来使我的代码工作?如果没有其他的'替代方案,是否存在不等同的运算符?
代码:
@echo off
cls
echo Desktop Startup Initiated...
cd "C:\Users\User1\Desktop
goto start
:start
pause
set /p x=Please select an option. 1.Heavy start 2.Light start Enter Here:
if %x% == 1 (goto heavy)
if %x% == 2 (goto light)
else (echo Invalid.
pause
goto :start)
:light
start Slack.lnk
start Outlook.lnk
exit
:heavy
start chrome.exe
start Review.txt
start Notes.txt
start Slack.lnk
start Outlook.lnk
exit
如果没有其他替代方法,我可以在其位置重新定向以启动非等号参数。
答案 0 :(得分:1)
为什么要使用其他? 从逻辑上讲,如果它不等于1或2,它将转到无效语句
if %x% == 1 goto heavy
if %x% == 2 goto light
echo Invalid.
pause
goto :start
如果您真的想使用else
if %x% == 1 goto heavy
if %x% == 2 (goto light
) else (
echo Invalid.
pause
goto :start
)
答案 1 :(得分:1)
尝试使用CHOICE,然后可以设置超时的默认选项。 (这在没有响应的情况下30秒后选择Light)
@ECHO OFF
ECHO Desktop Startup Initiated...
PUSHD "%USERPROFILE%\Desktop"
CHOICE /C LH /T 30 /D L /M "Please select Light or Heavy start "
IF ERRORLEVEL 2 GOTO :Heavy
START Slack.lnk
START Outlook.lnk
EXIT/B
:Heavy
START chrome.exe
START Review.txt
START Notes.txt
START Slack.lnk
START Outlook.lnk