永发信息网

批处理中如何判断是否有此文件,有则运行,没有则跳到指定标签

答案:2  悬赏:40  手机版
解决时间 2021-02-26 04:08
  • 提问者网友:欲望失宠
  • 2021-02-25 19:02
@echo off
:1
echo ------------------------------------------------------------------
echo D E F
echo ------------------------------------------------------------------
set /p var=请输入安装包所在的盘符,并按回车键继续:
echo ------------------------------------------------------------------

if %var%==d D: & if not exist d:\1.exe (1.exe) else (goto :2) 3.exe

if %var%==e E: & if not exist e:\1.exe (1.exe) else (goto :2) 3.exe

if %var%==f F: & if not exist f:\1.exe (1.exe) else (goto :2) 3.exe

:2
echo 找不到文件,请重新选择盘符 & pause>nul & goto :1

我现在的疑问是,不管某盘下有没有1.exe,他永远goto2,为什么,该怎么做,还有:1:2放在那个位置合适,怎么忽略标签不让标签运行?

有则运行并继续下方XXXXXXXXX命令,没有则跳转标签
if %var%==d D: & if not exist d:\1.exe (1.exe) else (goto :2) 3.exe xxxxxxxxxxx
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-02-25 19:14
@echo off
:1
set "var="
echo ------------------------------------------------------------------
echo             D                 E                    F
echo ------------------------------------------------------------------
set /p var=请输入安装包所在的盘符,并按回车键继续:
echo ------------------------------------------------------------------
if /i "%var%"=="d" goto :2
if /i "%var%"=="e" goto :2
if /i "%var%"=="f" goto :2
goto :1
:2
if not exist "%var%:\1.exe" (
    echo 找不到文件,请重新选择盘符
    pause>nul
    goto :1
)
cd /d %var%:\ 
start "" "1.exe"
start "" "3.exe"
全部回答
  • 1楼网友:醉吻情书
  • 2021-02-25 19:36
按你示意代码,批处理总是会顺序执行到:2位置,也就显示找不到文件啦,要想不执行该段也只能再设一跳转... 至于如何设置标签为好没一定标准,主要是方便使用符合逻辑简化代码 以下仅供参考: @echo off :1 echo ====================== echo d e f echo ====================== set/p var=请输入安装包所在盘符字母并按回车 echo ===================================== echo %var%|findstr/ix "[d-f]">nul||(cls&goto :1) if not exist %var%:\1.exe ( echo 找不到文件,是否重新选择盘符? set/p re=直接回车返回重选或输入任何字符回车退出: if defined re exit /b goto :1 ) %var%\1.exe rem xxxxxx pause
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯