Загрузка данных


@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