首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >if else命令的批处理脚本

if else命令的批处理脚本
EN

Stack Overflow用户
提问于 2013-04-04 05:57:28
回答 1查看 56.3K关注 0票数 8

我正在尝试创建一个简单的批处理脚本来擦除/清零闪存驱动器并重新格式化它。它是给其他人的,所以我试图让它变得相对安全,通过阻塞C:,D:等的格式。

我正在寻找一个IF ELSE类型的命令,我可以使用它来捕获所有的错误。

这是我的自动取款机的主要部分

代码语言:javascript
复制
: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.

现在我知道了

代码语言:javascript
复制
if /i "%answer:~,1%" NOT exist goto again && echo    Please provide a valid drive letter for flash drive

不是有效的语法,但是我可以使用什么来达到同样的目的呢?我知道有一种更有效的方法来做到这一点(例如,不是为可能的驱动器号定义4个变量,而是放入一个侦听用户输入并接受它(如果存在)的变量)。

这是我第一次尝试批处理脚本(以及一般的脚本),我正在学习动态编程,所以你可以让它变得越“愚蠢”越好。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-04 06:08:58

试试这个:

代码语言:javascript
复制
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
)
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15798930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档