标题: [其他] 求助代码查错:‘if’ 不是内部或外部命令,也不是可运行的程序 [打印本页]
作者: 674478095 时间: 2016-4-2 13:01 标题: 求助代码查错:‘if’ 不是内部或外部命令,也不是可运行的程序
- @echo off
- setlocal enabledelayedexpansion
- echo.
- set Drive=0
- For /F "Skip=1" %%i in ('Wmic Logicaldisk Where "DriveType=3" Get Name') Do (
- set /a Drive=!Drive!+1
- set Drive[!Drive!]=%%i
- )
- set /a Drive=!Drive!-1
- set var=1
- :DriveChoose
- echo.
- set /p output=请选择安装磁盘(<nul
- for /l %%i in (1,1,!Drive!) do (
- call set /p output=%%Drive[%%i]::=%%/<nul)
- echo )
- set /p enter=请输入安装磁盘:
- for /l %%i in (1,1,!Drive!) do (
- call set "output=if [%%%%enter%%%%]==%%Drive[%%i]::=%% do (set var=0)"
- !output!
- )
- if %var%==1 (goto :DriveChoose)
- echo ............
- pause
复制代码
作者: happy886rr 时间: 2016-4-2 13:28
复制代码
回复 1# 674478095
作者: gawk 时间: 2016-4-2 13:41
- @echo off
- setlocal enabledelayedexpansion
- set drive=0
- for /f "skip=1" %%i in ('wmic logicaldisk where "drivetype=3" get name') do (
- set /a drive+=1
- set drive[!drive!]=%%i
- )
- set /a drive-=1
- set var=1
- :drivechoose
- echo.
- set /p output=请选择安装磁盘(<nul
- for /l %%i in (1,1,!drive!) do (
- call set /p output=%%drive[%%i]::=%%/<nul)
- echo
- )
- set /p enter=请输入安装磁盘:
- for /l %%i in (1,1,!drive!) do (
- set str=!drive[%%i]:~0,1!
- if /i "!enter!"=="!str!" (
- set var=0
- )
- )
- if %var%==1 (goto :drivechoose)
- echo ............
- pause
复制代码
作者: CrLf 时间: 2016-4-2 18:20
if 和 for 最特殊,不能通过 !var! 或 %%a 的形式执行,甚至不能前置重定向
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |