Próbuję zrobić prosty skrypt wsadowy do wymazywania/zerowania dysku flash i formatowania go. To jest dla innych, więc próbuję uczynić go względnie bezpiecznym, blokując formatowanie do C :, D :, itd.Skrypt wsadowy, jeśli jeszcze komenda
Poszukuję polecenia typu IF ELSE, którego mogę użyć, aby złapać błąd -wszystko.
Oto (główna część), co mam 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.
Teraz wiem, że
if /i "%answer:~,1%" NOT exist goto again && echo Please provide a valid drive letter for flash drive
nie jest prawidłowa składnia, ale co mogę używać, aby osiągnąć ten sam cel ? Wiem, że jest na to skuteczniejszy sposób (np. Zamiast definiowania 4 zmiennych dla prawdopodobnych liter dysków, umieść pojedynczą zmienną, która nasłuchuje danych wprowadzanych przez użytkownika i akceptuje go, jeśli istnieje).
To jest mój pierwszy wypad w skryptów wsadowych (i ogólnie skryptów) i uczę się "w locie", więc "głupszy", że możesz to zrobić, tym lepiej.
Z góry dziękuję.
Należy również uciec nawias w swojej komendzie echa. –
gdzie należy umieścić ten nawias? Umieściłem go po "napędzie flash" i polecenie zapętlono. – CharlieTango92
W twoim kodzie, gdzie ma coś takiego jak echo bla ... (bez dwukropka) ... musisz uciec z nawiasami. Jestem na moim telefonie, więc widzisz mój problem. –