@echo off
setlocal enabledelayedexpansion
echo === Умный бэкап дискет (с пропуском битых файлов) ===
echo.
set /p start_num="Введите начальный номер папки: "
set /p dest_dir="Введите путь к флешке (например, E:\FloppyArchive): "
set /p src_dir="Введите путь к дисководу (например, A:): "
set current_num=%start_num%
:PROCESS_DISK
echo.
echo ========================================
echo Подготовьте дискету #!current_num!
echo Вставьте дискету в дисковод %src_dir% и нажмите любую клавишу...
pause > nul
echo.
echo [~] Проверка дискеты...
dir /a /b "%src_dir%\*.*" >nul 2>nul
if %ERRORLEVEL% NEQ 0 (
echo [-] Ошибка: Дискета пуста, не отформатирована или полностью не читается!
goto PROMPT
)
set "target_folder=%dest_dir%\!current_num!"
mkdir "!target_folder!" 2>nul
echo [~] Чтение и копирование данных...
xcopy "%src_dir%\*.*" "!target_folder!\" /C /D /E /H /Y /I
if %ERRORLEVEL% EQU 0 (
echo [+] Все данные успешно перенесены в папку !current_num!!
) else (
echo [!] Копирование завершено, но часть файлов пропущена из-за ошибок чтения.
echo [!] Зайдите в папку !current_num!, чтобы проверить, что удалось спасти.
)
:PROMPT
echo.
set /p user_choice="Считывать следующую дискету? (Y - да, N - нет): "
if /I "%user_choice%"=="Y" (
set /a current_num+=1
goto PROCESS_DISK
)
if /I "%user_choice%"=="N" (
echo Завершение работы...
goto END
)
goto PROMPT
:END
pause