加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 批处理脚本if else命令

发布时间:2020-12-14 04:18:14 所属栏目:Windows 来源:网络整理
导读:我正在尝试制作一个简单的批处理脚本来擦除/清零闪存驱动器并重新格式化它.它适用于其他人,所以我试图通过阻止格式化为C:,D:等来使其相对安全. 我正在寻找一个我可以使用的IF ELSE类型命令,成为一个错误. 这是我拥有ATM的(主要部分) :againecho.clsecho.ec
我正在尝试制作一个简单的批处理脚本来擦除/清零闪存驱动器并重新格式化它.它适用于其他人,所以我试图通过阻止格式化为C:,D:等来使其相对安全.

我正在寻找一个我可以使用的IF ELSE类型命令,成为一个错误.

这是我拥有ATM的(主要部分)

:again
echo.
cls
echo.
echo  Please select the drive letter for the flash
echo  drive you wish to erase
echo.
echo    **** DO NOT SELECT C: OR D: ****
echo.
echo.
echo   *** Enter letter (no colon) ONLY e.g. "E" ***
echo.
set /p answer=
cls
echo.
echo.
echo.
if /i "%answer:~,1%" EQU "e" format E: /x /fs:FAT32 /v:FORENSICS /p:2
if /i "%answer:~,1%" EQU "f" format F: /x /fs:FAT32 /v:FORENSICS /p:2
if /i "%answer:~,1%" EQU "g" format G: /x /fs:FAT32 /v:FORENSICS /p:2
if /i "%answer:~,1%" EQU "h" format H: /x /fs:FAT32 /v:FORENSICS /p:2
if /i "%answer:~,1%" NOT exist goto again && echo    Please provide a valid drive letter for flash drive
echo.

现在我知道了

if /i "%answer:~,1%" NOT exist goto again && echo    Please provide a valid drive letter for flash drive

是无效的语法,但我可以使用什么来实现相同的目标?我知道有一种更有效的方法可以做到这一点(例如,不是为可能的驱动器字母定义4个变量,而是放置一个监听用户输入的变量,如果存在则接受它.)

这是我第一次涉足批处理脚本(以及一般的脚本),我正在即时学习,所以你可以做到的“笨”越好.

提前致谢.

试试这个:
echo.%answer:~,1% | findstr /r /i "[e-h]"
if %errorlevel% equ 0 (
  format %answer:~,1%: /x /fs:FAT32 /v:FORENSICS /p:2
) else (
  echo Please provide a valid drive letter for flash drive.
  goto again
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读