Нина
Нина

Помогите с командными файлами!

Задание: Выполнение проверки файловой структуры заданного дискового накопителя (от A: до Z:) с помощью утилиты CHKDSK из состава операционной системы Windows. Предусмотреть выбор режима работы утилиты и проверку кода ее завершения. Выполнить проверку существования накопителя с заданным идентификатором.
Вот код:
@echo off
echo The program allows to check up a disk in the presence of errors
set /p name=Enter the disk name:

if not exist %name%: goto point_1
set /p proverka=Do you want to execute verification with the correction of errors?(y,n)
if %proverka==y goto point_2
if %proverka==n goto point_3

:point_2
set /p proverka=Do you want to find the damaged sectors and recover information, kept in them?(y,n)
if %proverka==y goto point_4
if %proverka==n goto point_5

:point_5
chkdsk %name%: /f
rem Verification of completion of verification code
if errorlevel 0 goto erroccurred
echo Verification is executed without errors
goto :eof
:erroccurred
echo Error at instruction execution
goto end

:point_4
chkdsk %name%: /f /r
rem Verification of completion of verification code
if errorlevel 0 goto erroccurred
echo Verification is executed without errors
goto :eof
:erroccurred
echo Error at instruction execution
goto end

:point_3
chkdsk %name%:
rem Verification of completion of verification code
if errorlevel 0 goto erroccurred
echo Verification is executed without errors
goto :eof
:erroccurred
echo Error at instruction execution
goto end

:point_1
echo The disk name is indicated not right
goto end

:end

pause

Что здесь не правильно? Программа не хочет проверять диск

это задание для лабораторной работы по предмету операционные системы и среды.

ДО
Дмитрий Орехов

- Работает для несистемных дисков.
- Сомневаюсь, что чекдиск возвращает код завершения, а если он его возвращает, то скорее всего >0 (errorlevel 0 - не меньше нуля "ноль и больше", т. е. неправильно) . Да и это не факт, вдруг, действительно <0.
- по синтаксису метка eof отсутствует, нет закрывающего % у переменной proverka в ифах
- монструозно получилось,
@echo off
echo The program allows to check up a disk in the presence of errors
set /p name=Enter the disk name:
if not exist %name%: goto point_1
set /p proverka=Do you want to execute verification with the errors correction(f)?(y,n)
if %proverka%==n goto point_5
set /p proverka=Do you want to find the damaged sectors (r) and recover information, kept in them?(y,n)
if %proverka%==y set p2=/r /f
if %proverka%==n set p2=/f

:point_5
chkdsk %name%: %p2%
if errorlevel 1 goto erroccurred
echo Verification is executed without errors
goto :end
:erroccurred
echo Error at instruction execution
goto end
:point_1
echo The disk name is indicated not right
:end

Ay
Aysidora

В современных системах эта программа не работает. Проверка диска осуществляется после перезагрузки системы.

Похожие вопросы
Как в командной строке создать командный файл ?
Командные файлы MS-DOS
создать командный файл. создать командный файл который выводит содержимое папки переданнное в качестве первого параметра
Помогите составить командный файл!
Помогите с командным файлом
как соединить два ехе файла в один? Хотя бы командной строкой
Перетаскивание файлов в командную строку!
Помогите Разработать командный файл (аналог команды tail в Unix). Командный файл печатает конец файла.
Как вставить переменную в строку в командном файле?
Написать командный файл