[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 求助代码查错:‘if’ 不是内部或外部命令,也不是可运行的程序

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo.
  4. set Drive=0
  5. For /F "Skip=1" %%i in ('Wmic Logicaldisk Where "DriveType=3" Get Name') Do (
  6. set /a Drive=!Drive!+1
  7. set Drive[!Drive!]=%%i
  8. )
  9. set /a Drive=!Drive!-1
  10. set var=1
  11. :DriveChoose
  12. echo.
  13. set /p output=请选择安装磁盘(<nul
  14. for /l %%i in (1,1,!Drive!) do (
  15. call set  /p output=%%Drive[%%i]::=%%/<nul)
  16. echo )
  17. set  /p enter=请输入安装磁盘:
  18. for /l %%i in (1,1,!Drive!) do (
  19. call set "output=if [%%%%enter%%%%]==%%Drive[%%i]::=%% do (set var=0)"
  20. !output!
  21. )
  22. if %var%==1 (goto :DriveChoose)
  23. echo ............
  24. pause
复制代码
1

评分人数

if 和 for 最特殊,不能通过 !var! 或 %%a 的形式执行,甚至不能前置重定向

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set drive=0
  4. for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype=3" get name') do (
  5.     set /a drive+=1
  6.     set drive[!drive!]=%%i
  7. )
  8. set /a drive-=1
  9. set var=1
  10. :drivechoose
  11. echo.
  12. set /p output=请选择安装磁盘(<nul
  13. for /l %%i in (1,1,!drive!) do (
  14.     call set  /p output=%%drive[%%i]::=%%/<nul)
  15.     echo 
  16. )
  17. set  /p enter=请输入安装磁盘:
  18. for /l %%i in (1,1,!drive!) do (
  19.     set str=!drive[%%i]:~0,1!
  20.     if /i "!enter!"=="!str!" (
  21.         set var=0
  22.     )
  23. )
  24. if %var%==1 (goto :drivechoose)
  25. echo ............
  26. pause
复制代码
Talk is cheap. Show me the code.
没事不要瞎扯淡,有能耐就把代码贴出来给我看。

TOP

  1. %output%
复制代码
回复 1# 674478095

TOP

返回列表