| @echo off |
| setlocal |
| setlocal enabledelayedexpansion |
| chcp 65001 > nul |
| set filename=models_in_folder |
| set target_dir=%~dp0 |
| pushd "%~dp0" |
| set py=%target_dir%python_embeded\ |
| set models_o=%target_dir%ComfyUI\models |
| set PATH=%target_dir%git\bin;%target_dir%git\libexec;%py%Scripts;%PATH%; |
|
|
| call :ColorText "====================================================" "Yellow" |
| call :ColorText ".bat file for creating links for ComfyUI by Skiffbox" "Green" |
|
|
| echo. |
| echo Введите адресс к имеющимся моделям (полный путь): |
| set /p pathname= |
| set models_i=%pathname% |
|
|
| cd %target_dir% |
| :: Создание пустого файла для сохранения списка папок |
| type nul > "%target_dir%\%filename%.txt" |
|
|
| :: Файл со списком переименований (старое имя=новое имя) |
| set "rename_list=rename_list.txt" |
|
|
| :: Проверка наличия файла со списком |
| if not exist "%rename_list%" ( |
| echo Файл со списком переименований "%rename_list%" не найден. |
| pause |
| exit /b 1 |
| ) |
|
|
| :: Чтение файла со списком и переименование папок |
| for /f "tokens=1,2 delims==" %%a in (%rename_list%) do ( |
| :: Проверка наличия старой папки |
| cd %models_o% |
| if exist "%%a\" ( |
| echo Переименование "%%a" в "%%a-1" |
| ren "%%a" "%%a-1" |
| cd %target_dir% |
| ) else ( |
| echo Папка "%%a" не найдена. |
| ) |
| call :links "%%a" "%%b" |
| ) |
| echo Список папок успешно сохранен в файл "!filename!.txt" |
| pause |
| endlocal |
| popd |
| exit /b |
|
|
| :links |
| echo. |
| :: Проверка наличия папки источника |
| cd %models_i% |
| if exist "%2\" ( |
| call :ColorText "Создаю символическую ссылку на %2 для %1" "Green" |
| ) else ( |
| echo Папка %2 не найдена - Создаю её |
| mkdir %2 |
| ) |
| mklink "%models_o%\%1" /D "%models_i%\%2" |
| cd %target_dir% |
| call :ColorText "====================================================" "Yellow |
| echo. |
| exit /b |
|
|
| :ColorText |
| setlocal |
| set text=%~1 |
| set color=%~2 |
| powershell -NoProfile -ExecutionPolicy Bypass -Command "Write-Host '%text%' -ForegroundColor %color%" |
| endlocal |
| exit /b |
|
|