7
我試圖做一個簡單的批處理腳本來擦除/歸零閃存驅動器並重新格式化它。這是爲了別人,所以我試圖讓它相對安全,通過阻止格式化爲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命令的括號。 – 2013-04-03 22:39:36
這個括號需要放在哪裏?我把它放在「閃存驅動器」之後並且命令循環。 – CharlieTango92 2013-04-04 00:08:51
在你的代碼裏它有一些像echo blah ...(無冒號)的東西......你需要跳過括號。我在手機上,所以你可以看到我的問題。 – 2013-04-04 02:21:54