File size: 2,262 Bytes
2714057
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
@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