iBat-ComfyUI / models_links.bat
iRedHat's picture
Update models_links.bat
2714057 verified
@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