|
@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 |
|
|