diff --git a/archive/apps-connect.bat b/archive/apps-connect.bat deleted file mode 100644 index 08b07d9..0000000 --- a/archive/apps-connect.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -setlocal ->nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" -if '%errorlevel%' NEQ '0' ( - echo Restarting as Admin... - powershell -Command "Start-Process -FilePath '%~dp0apps-manager.bat' -ArgumentList 'connect' -Verb RunAs" - exit /b -) - -call "%~dp0apps-manager.bat" connect - -endlocal \ No newline at end of file diff --git a/archive/apps-disconnect.bat b/archive/apps-disconnect.bat deleted file mode 100644 index 00d08b3..0000000 --- a/archive/apps-disconnect.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off -setlocal ->nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" -if '%errorlevel%' NEQ '0' ( - echo Restarting as Admin... - powershell -Command "Start-Process -FilePath '%~dp0apps-manager.bat' -ArgumentList 'disconnect' -Verb RunAs" - exit /b -) - -call "%~dp0apps-manager.bat" disconnect -endlocal \ No newline at end of file diff --git a/archive/apps-manager.bat b/archive/apps-manager.bat deleted file mode 100644 index f8a1b7f..0000000 --- a/archive/apps-manager.bat +++ /dev/null @@ -1,95 +0,0 @@ -@echo off -:: ========================================== -:: Проверка прав администратора -:: ========================================== -@REM >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" -@REM if '%errorlevel%' NEQ '0' ( -@REM echo Требуются права администратора. Перезапуск... -@REM powershell -Command "Start-Process -FilePath '%~f0' -ArgumentList '%*' -Verb RunAs " -@REM exit /b -@REM ) - -:: ========================================== -:: Инициализация -:: ========================================== -setlocal EnableDelayedExpansion -set "init=%~dp0\settings\init.bat" -call "%init%" - -set "config=%apps-all%" - -:: ========================================== -:: Аргумент действия -:: ========================================== -set "action=%1" -if "%action%"=="" set "action=reconnect" - -:: ========================================== -:: Обработка CSV -:: ========================================== -for /f "skip=1 tokens=1-8 delims=," %%A in (%config%) do ( - set "App=%%A" - set "From=%%B" - set "To=%%C" - set "Type=%%D" - set "Enabled=%%E" - set "ExtraVariables=%%~F" - set "ExtraConnect=%%~G" - set "ExtraDisconnect=%%~H" - - if "!Enabled!"=="1" ( - :: Разворачиваем стандартные переменные окружения - call set "From=!From!" - call set "To=!To!" - call set "ExtraConnect=!ExtraConnect!" - call set "ExtraDisconnect=!ExtraDisconnect!" - - :: Выполняем Extra-Variables как команду - if not "!ExtraVariables!"=="" ( - echo !ExtraVariables! - ) - - echo ============================== - echo Processing !App! with action %action% (Type=!Type!) - - if /I "!Type!"=="isolate" ( - :: Для isolate исполняем только extra команды - if /I "%action%"=="disconnect" if not "!ExtraDisconnect!"=="" call !ExtraDisconnect! - if /I "%action%"=="connect" if not "!ExtraConnect!"=="" call !ExtraConnect! - if /I "%action%"=="reconnect" ( - if not "!ExtraDisconnect!"=="" call !ExtraDisconnect! - if not "!ExtraConnect!"=="" call !ExtraConnect! - ) - ) else ( - :: default — обычное поведение - if /I "%action%"=="disconnect" call :disconnect - if /I "%action%"=="connect" call :connect - if /I "%action%"=="reconnect" ( - call :disconnect - call :connect - ) - ) - ) -) - -:: ========================================== -:: Завершение -:: ========================================== -:end -endlocal -exit /b - -:: ========================================== -:: Функции -:: ========================================== -:disconnect -echo Removing "!To!"... -rd /Q "!To!" 2>nul -if not "!ExtraDisconnect!"=="" call !ExtraDisconnect! -goto :eof - -:connect -echo Creating symlink "!To!" -> "!From!"... -mklink /D "!To!" "!From!" -if not "!ExtraConnect!"=="" call !ExtraConnect! -goto :eof diff --git a/archive/apps-reconnect.bat b/archive/apps-reconnect.bat deleted file mode 100644 index b7faff5..0000000 --- a/archive/apps-reconnect.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off -setlocal ->nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" -if '%errorlevel%' NEQ '0' ( - echo Restarting as Admin... - powershell -Command "Start-Process -FilePath '%~dp0apps-manager.bat' -ArgumentList 'reconnect' -Verb RunAs" - exit /b -) - -call "%~dp0apps-manager.bat" reconnect -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/AIMP.bat b/archive/data/[completed]/AIMP.bat deleted file mode 100644 index 2880ecb..0000000 --- a/archive/data/[completed]/AIMP.bat +++ /dev/null @@ -1,27 +0,0 @@ -@echo off -setlocal - -set "app=AIMP" - -set "from_1=%storage%\%app%" -set "to_1=%appdata%\%app%" - -if "%1"=="" goto reconnect -if /I "%1"=="disconnect" goto disconnect -if /I "%1"=="connect" goto connect - -:disconnect -rd /Q "%to_1%" -goto end - -:connect -mklink /D "%to_1%" "%from_1%" -goto end - -:reconnect -rd /Q "%to_1%" -mklink /D "%to_1%" "%from_1%" -goto end - -:end -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/EqualizerAPO.bat b/archive/data/[completed]/EqualizerAPO.bat deleted file mode 100644 index ce25db8..0000000 --- a/archive/data/[completed]/EqualizerAPO.bat +++ /dev/null @@ -1,17 +0,0 @@ -@echo off -setlocal - -set "app=EqualizerAPO" - -set "from_1=%storage%\%app%" -set "to_1=%ProgramFiles%\%app%" -set FabFilter_Pro-Q_3=%ProgramFiles%\VSTPlugins\FabFilter\FabFilter Pro-Q 3.dll" - -for /f "delims=" %%i in ('dir /aL /b %to_1%\config') do del "%%i" -del /q "%to_1%\config\*" -del /q "%to_1%\VSTPlugins\FabFilter Pro-Q 3.dll" - -reg add "HKEY_LOCAL_MACHINE\SOFTWARE\EqualizerAPO" /v "ConfigPath" /t REG_SZ /d "%storage%\%app%" /f -mklink "%to_1%\VSTPlugins\FabFilter Pro-Q 3.dll" "%FabFilter_Pro-Q_3%" - -endlocal diff --git a/archive/data/[completed]/KeePassXC.bat b/archive/data/[completed]/KeePassXC.bat deleted file mode 100644 index 3ba5bb2..0000000 --- a/archive/data/[completed]/KeePassXC.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=KeePassXC" - -set "from_1=%storage%\%app%" -set "to_1=%appdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/Playnite.bat b/archive/data/[completed]/Playnite.bat deleted file mode 100644 index 37faf83..0000000 --- a/archive/data/[completed]/Playnite.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -setlocal - -set "app=Playnite" - -set "from_1=%storage%\%app%" -set "to_1=%appdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/Powertoys.bat b/archive/data/[completed]/Powertoys.bat deleted file mode 100644 index 1b4d09e..0000000 --- a/archive/data/[completed]/Powertoys.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=Powertoys" - -set "from_1=%storage%\%app%\%computername%" -set "to_1=%localappdata%\Microsoft\PowerToys" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/Sublime Text.bat b/archive/data/[completed]/Sublime Text.bat deleted file mode 100644 index 282cc64..0000000 --- a/archive/data/[completed]/Sublime Text.bat +++ /dev/null @@ -1,15 +0,0 @@ -@echo off -setlocal - -set "app=Sublime Text" - -set "from_1=%storage%\%app%\Config" -set "to_1=%AppData%\%app%" -set "from_exe_1=%storage%\%app%\Patched\Windows\sublime_text.exe" -set "to_exe_1=%ProgramFiles%\%app%\sublime_text.exe" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/SumatraPDF.bat b/archive/data/[completed]/SumatraPDF.bat deleted file mode 100644 index 24d075e..0000000 --- a/archive/data/[completed]/SumatraPDF.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=SumatraPDF" - -set "from_1=%storage%\%app%" -set "to_1=%localappdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/Syncthing.bat b/archive/data/[completed]/Syncthing.bat deleted file mode 100644 index f22fd56..0000000 --- a/archive/data/[completed]/Syncthing.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=Syncthing" - -set "from_1=%storage%\%app%\%computername%" -set "to_1=%localappdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/Transmission.bat b/archive/data/[completed]/Transmission.bat deleted file mode 100644 index 621a412..0000000 --- a/archive/data/[completed]/Transmission.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=transmission" - -set "from_1=%storage%\%app%\%computername%" -set "to_1=%localappdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/VSCodium.bat b/archive/data/[completed]/VSCodium.bat deleted file mode 100644 index fbd068f..0000000 --- a/archive/data/[completed]/VSCodium.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -setlocal - -set "app=VSCodium" - -set "from_1=%storage%\%app%" -set "to_1=%appdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/gramps.bat b/archive/data/[completed]/gramps.bat deleted file mode 100644 index e5fc831..0000000 --- a/archive/data/[completed]/gramps.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=gramps" - -set "from_1=%storage%\%app%" -set "to_1=%appdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/ludusavi.bat b/archive/data/[completed]/ludusavi.bat deleted file mode 100644 index c494802..0000000 --- a/archive/data/[completed]/ludusavi.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=ludusavi" - -set "from_1=%storage%\%app%\cfg" -set "to_1=%appdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[completed]/v2rayN.bat b/archive/data/[completed]/v2rayN.bat deleted file mode 100644 index ff77d84..0000000 --- a/archive/data/[completed]/v2rayN.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -setlocal - -set "app=v2rayN" - -set "from_1=%storage%\%app%" -set "to_1=%localappdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" -endlocal \ No newline at end of file diff --git a/archive/data/[old]/64Gram.bat b/archive/data/[old]/64Gram.bat deleted file mode 100644 index 1674f53..0000000 --- a/archive/data/[old]/64Gram.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=64Gram Desktop" - -set "from_1=%storage%\%app%\%computername%" -set "to_1=%appdata%\%app%\tdata" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[old]/Nekoray.bat b/archive/data/[old]/Nekoray.bat deleted file mode 100644 index e4b4a76..0000000 --- a/archive/data/[old]/Nekoray.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -setlocal - -set "app=Nekoray" - -set "from_1=%storage%\%app%\%computername%\config" -set "to_1=%localappdata%\Microsoft\WinGet\Packages\MatsuriDayo.NekoRay_Microsoft.Winget.Source_8wekyb3d8bbwe\nekoray\config" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" -endlocal \ No newline at end of file diff --git a/archive/data/[old]/PrismLauncher.bat b/archive/data/[old]/PrismLauncher.bat deleted file mode 100644 index 5db13d7..0000000 --- a/archive/data/[old]/PrismLauncher.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=PrismLauncher" - -set "from_1=%storage-games%\%app%" -set "to_1=%appdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[old]/beets.bat b/archive/data/[old]/beets.bat deleted file mode 100644 index 9a841d1..0000000 --- a/archive/data/[old]/beets.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=beets" - -set "from_1=%storage%\%app%" -set "to_1=%appdata%\%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[old]/glzr.bat b/archive/data/[old]/glzr.bat deleted file mode 100644 index 371a1a0..0000000 --- a/archive/data/[old]/glzr.bat +++ /dev/null @@ -1,13 +0,0 @@ -@echo off -setlocal - -set "app=glzr" - -set "from_1=%storage%\%app%" -set "to_1=%USERPROFILE%\.%app%" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" - -endlocal \ No newline at end of file diff --git a/archive/data/[old]/hfdownloader.bat b/archive/data/[old]/hfdownloader.bat deleted file mode 100644 index 2cba443..0000000 --- a/archive/data/[old]/hfdownloader.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off -setlocal - -set "app=xdg-configs" - -set "from_1=%storage%\%app%" -set "to_1=%userprofile%\.config" - -rd /q "%to_1%" - -mklink /D "%to_1%" "%from_1%" -endlocal \ No newline at end of file diff --git a/archive/data/all copy.csv b/archive/data/all copy.csv deleted file mode 100644 index 064a952..0000000 --- a/archive/data/all copy.csv +++ /dev/null @@ -1,5 +0,0 @@ -App,From,To,Type,Enabled,Extra-Variables,Extra-Connect,Extra-Disconnect -AIMP,%storage%\%app%,%appdata%\%app%,default,0,,, -KeePassXC,%storage%\%app%,%appdata%\%app%,default,0,,, -gramps,%storage%\%app%,%appdata%\%app%,default,0,,, -EqualizerAPO,%storage%\%app%,%ProgramFiles%\%app%,isolate,1,,, \ No newline at end of file diff --git a/archive/data/legacy/EqualizerAPO.bat b/archive/data/legacy/EqualizerAPO.bat deleted file mode 100644 index bd06ed0..0000000 --- a/archive/data/legacy/EqualizerAPO.bat +++ /dev/null @@ -1,16 +0,0 @@ -@echo off -setlocal - -set "app=EqualizerAPO" -set "from_1=%storage%\%app%" -set "to_1=%ProgramFiles%\%app%" -set "FabFilter Pro-Q 3=%ProgramFiles%\VSTPlugins\FabFilter\FabFilter Pro-Q 3.dll" - -for /f "delims=" %%i in ('dir /aL /b %to_1%\config') do del "%%i" -del /q "%to_1%\config\*" -del /q "%to_1%\VSTPlugins\FabFilter Pro-Q 3.dll" - -reg add "HKEY_LOCAL_MACHINE\SOFTWARE\EqualizerAPO" /v "ConfigPath" /t REG_SZ /d "%storage%\%app%" /f -mklink "%to_1%\VSTPlugins\FabFilter Pro-Q 3.dll" "%FabFilter Pro-Q 3%" - -endlocal diff --git a/archive/deploy.bat b/archive/deploy.bat deleted file mode 100644 index 93f4ce0..0000000 --- a/archive/deploy.bat +++ /dev/null @@ -1,31 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion - -:: BatchGotAdmin BEGIN https://sites.google.com/site/eneerge/home/BatchGotAdmin | https://ss64.com/nt/rem.html | https://ss64.com/nt/cacls.html -:: Check for permissions ->nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" - -:: If error flag set, we do not have admin. -if '%errorlevel%' NEQ '0' ( - echo Requesting administrative privileges... - goto UACPrompt -) else ( goto gotAdmin ) - -:UACPrompt - echo Set UAC = CreateObject^("Shell.Application"^) > "%~dp0getadmin.vbs" - echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%~dp0getadmin.vbs" - - "%~dp0getadmin.vbs" - exit /B - -:gotAdmin - if exist "%~dp0getadmin.vbs" ( del "%~dp0getadmin.vbs" ) - pushd "%CD%" - CD /D "%~dp0" -:: BatchGotAdmin END - -cd /d "%~dp0\modules" - -call init.bat -start call storage-connect.bat -start call mounts-connect.bat \ No newline at end of file diff --git a/archive/modules/mounts-connect.bat b/archive/modules/mounts-connect.bat deleted file mode 100644 index 8cec401..0000000 --- a/archive/modules/mounts-connect.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off -setlocal - -set "init=%~dp0\..\settings\init.bat" -call %init% - -for %%f in ("%mounts%\*.bat") do ( - echo Running %%f - call "%%f" -) -endlocal \ No newline at end of file diff --git a/archive/modules/storage-reconnect.bat b/archive/modules/storage-reconnect.bat deleted file mode 100644 index 4e5d0e1..0000000 --- a/archive/modules/storage-reconnect.bat +++ /dev/null @@ -1,11 +0,0 @@ -setlocal - -set "init=%~dp0\..\settings\init.bat" -call %init% - -for %%f in ("%apps-legacy%\*.bat") do ( - echo Running %%f - reconnect - call "%%f" -) - -endlocal \ No newline at end of file diff --git a/archive/settings/init.bat b/archive/settings/init.bat deleted file mode 100644 index 82c47ea..0000000 --- a/archive/settings/init.bat +++ /dev/null @@ -1,7 +0,0 @@ -@echo off - -cd /d "%~dp0" -set "root=%~dp0..\" - -set "vars=%root%\settings\vars.bat" -call "%vars%" \ No newline at end of file diff --git a/archive/settings/vars.bat b/archive/settings/vars.bat deleted file mode 100644 index 359bc8e..0000000 --- a/archive/settings/vars.bat +++ /dev/null @@ -1,32 +0,0 @@ -:: LOCAL :: - -:: Package Managers -set "winget=%root%\winget.ps1" - -:: Local Root -set "data=%root%\data" - -:: Packages -set "packages=%data%\packages" -set "packages-installer=%packages%\install.bat" -set "packages-all-lists=%packages%\[all]" -set "packages-user-lists=%packages%\%computername%" -set "packages-user-lists-other=%packages-user-lists%\other.bat" - -:: Apps -set "apps=%data%\apps" -set "apps-all=%apps%\all.csv" -set "apps-legacy=%apps%\legacy" -set "apps-user=%apps%\%computername%" -:: Mounts -set "mounts=%data%\mounts" - - -:: GLOBAL :: -set "disk-label=S:" -set "user-name=oqyude" - -:: Main Folder -set "games=%disk-label%\Games" -set "storage=%userprofile%\Storage" -set "storage-games=N:\Games\.storage" \ No newline at end of file diff --git a/archive/test.bat b/archive/test.bat deleted file mode 100644 index b2c661b..0000000 --- a/archive/test.bat +++ /dev/null @@ -1,27 +0,0 @@ -@echo off -setlocal EnableDelayedExpansion - -:: BatchGotAdmin BEGIN https://sites.google.com/site/eneerge/home/BatchGotAdmin | https://ss64.com/nt/rem.html | https://ss64.com/nt/cacls.html -:: Check for permissions ->nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" - -:: If error flag set, we do not have admin. -if '%errorlevel%' NEQ '0' ( - echo Requesting administrative privileges... - goto UACPrompt -) else ( goto gotAdmin ) - -:UACPrompt - echo Set UAC = CreateObject^("Shell.Application"^) > "%~dp0getadmin.vbs" - echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%~dp0getadmin.vbs" - - "%~dp0getadmin.vbs" - exit /B - -:gotAdmin - if exist "%~dp0getadmin.vbs" ( del "%~dp0getadmin.vbs" ) - pushd "%CD%" - CD /D "%~dp0" -:: BatchGotAdmin END - -call "%~dp0apps-manager.bat" reconnect \ No newline at end of file diff --git a/data/all.csv b/data/all.csv deleted file mode 100644 index 5a6aa7f..0000000 --- a/data/all.csv +++ /dev/null @@ -1,14 +0,0 @@ -App,From,To,Type,Enabled,Script -AIMP,$storage\$AppName,$env:APPDATA\$AppName,default,0, -gramps,$storage\$AppName,$env:APPDATA\$AppName,default,0, -KeePassXC,$storage\$AppName,$env:APPDATA\$AppName,default,0, -ludusavi,$storage\$AppName,$env:APPDATA\$AppName,default,0, -Playnite,$storage\$AppName,$env:APPDATA\$AppName,default,0, -Powertoys,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\Microsoft\PowerToys,default,0, -Sublime Text,$storage\$AppName\Config,$env:APPDATA\$AppName,default,0, -SumatraPDF,$storage\$AppName,$env:LOCALAPPDATA\$AppName,default,0, -Syncthing,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\$AppName,default,0, -transmission,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\$AppName,default,0, -v2rayN,$storage\$AppName,$env:LOCALAPPDATA\$AppName,default,0, -VSCodium,$storage\$AppName,$env:APPDATA\$AppName,default,0, -EqualizerAPO,$storage\$AppName,$env:ProgramFiles\$AppName,isolate,1,$apps\$AppName.ps1 \ No newline at end of file diff --git a/data/apps.csv b/data/apps.csv new file mode 100644 index 0000000..45eee0b --- /dev/null +++ b/data/apps.csv @@ -0,0 +1,14 @@ +App,From,To,Type,Enabled,Script +AIMP,$storage\$AppName,$env:APPDATA\$AppName,default,1, +gramps,$storage\$AppName,$env:APPDATA\$AppName,default,1, +KeePassXC,$storage\$AppName,$env:APPDATA\$AppName,default,1, +ludusavi,$storage\$AppName,$env:APPDATA\$AppName,default,1, +Playnite,$storage\$AppName,$env:APPDATA\$AppName,default,1, +Powertoys,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\Microsoft\PowerToys,default,1, +Sublime Text,$storage\$AppName\Config,$env:APPDATA\$AppName,default,1, +SumatraPDF,$storage\$AppName,$env:LOCALAPPDATA\$AppName,default,1, +Syncthing,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\$AppName,default,1, +transmission,$storage\$AppName\$env:COMPUTERNAME,$env:LOCALAPPDATA\$AppName,default,1, +v2rayN,$storage\$AppName,$env:LOCALAPPDATA\$AppName,default,1, +VSCodium,$storage\$AppName,$env:APPDATA\$AppName,default,1, +EqualizerAPO,$storage\$AppName,$env:ProgramFiles\$AppName,isolate,1, \ No newline at end of file diff --git a/data/apps/EqualizerAPO.ps1 b/data/isolate/EqualizerAPO.ps1 similarity index 100% rename from data/apps/EqualizerAPO.ps1 rename to data/isolate/EqualizerAPO.ps1 diff --git a/archive/data/mounts/all.bat b/data/mounts (not done yet)/all.bat similarity index 100% rename from archive/data/mounts/all.bat rename to data/mounts (not done yet)/all.bat diff --git a/run.ps1 b/run.ps1 index 7b81736..dc28648 100644 --- a/run.ps1 +++ b/run.ps1 @@ -1,21 +1,39 @@ -$initFile = Join-Path $PSScriptRoot ".\settings\init.ps1" +$initFile = Join-Path $PSScriptRoot ".\src\init.ps1" . $initFile -# run.ps1 — проверка прав администратора +# Check for administrator privileges if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { - Write-Host "Скрипт требует права администратора. Перезапуск..." + Write-Host "The script requires administrator privileges. Restarting..." - # Перезапуск скрипта с правами админа + # Restart the script with admin rights Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs exit } -# Если админ — продолжаем -Write-Host "Запуск от имени администратора подтвержден." +Write-Host "Administrator privileges confirmed." -# Аргумент действия -$action = if ($args.Count -ge 1) { $args[0] } else { "connect" } +# Define available actions +$actions = @("reconnect", "connect", "disconnect") -# Вызов apps-manager.ps1 с передачей аргумента -$appsManager = Join-Path $PSScriptRoot "apps-manager.ps1" -. $appsManager $action \ No newline at end of file +# Determine action: from argument or interactive menu +if ($args.Count -ge 1) { + $action = $args[0] +} else { + Write-Host "Select an action:" + for ($i = 0; $i -lt $actions.Count; $i++) { + Write-Host "[$($i+1)] $($actions[$i])" + } + + do { + $selection = Read-Host "Enter the number of your choice" + $valid = ($selection -as [int]) -and ($selection -ge 1) -and ($selection -le $actions.Count) + if (-not $valid) { Write-Host "Invalid selection. Try again." } + } until ($valid) + + $action = $actions[$selection - 1] +} + +Write-Host "Selected action: $action" + +# Call with the chosen action +. $appsDataManager $action diff --git a/settings/init.ps1 b/settings/init.ps1 deleted file mode 100644 index 4a963fd..0000000 --- a/settings/init.ps1 +++ /dev/null @@ -1,13 +0,0 @@ -# Переходим в папку скрипта -Set-Location -Path $PSScriptRoot - -# Определяем root аналогично %~dp0..\ -$root = Join-Path $PSScriptRoot ".." - -# Подключаем vars.ps1 -$varsFile = Join-Path $root "settings\vars.ps1" -if (Test-Path $varsFile) { - . $varsFile # точка + пробел = source / импорт -} else { - Write-Warning "Vars file not found: $varsFile" -} diff --git a/settings/vars.csv b/settings/vars.csv deleted file mode 100644 index a04b730..0000000 --- a/settings/vars.csv +++ /dev/null @@ -1,13 +0,0 @@ -Key,Value,Type -winget,%root%\winget.ps1,Package Manager -data,%root%\data,Local Root -packages,%data%\packages,Packages -apps,%data%\apps,Apps -apps-all,%apps%\all.csv,Apps -apps-legacy,%apps%\legacy,Apps -mounts,%data%\mounts,Mounts -disk-label,S:,Global -user-name,oqyude,Global -games,%disk-label%\Games,Main Folder -storage,%userprofile%\Storage,Main Folder -storage-games,N:\Games\.storage,Main Folder diff --git a/settings/vars.ps1 b/settings/vars.ps1 deleted file mode 100644 index f76e49a..0000000 --- a/settings/vars.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -# LOCAL - -# Package Managers -$winget = "$PSScriptRoot\winget.ps1" - -# Local Root -$data = "$root\data" - -# Apps -$apps = "$data\apps" -$appsAll = "$data\all.csv" -$appsUser = "$apps\$env:COMPUTERNAME" -$appsLegacy = "$apps\legacy" - -# Mounts -# $mounts = "$data\mounts" - -# GLOBAL -$storage = "$env:USERPROFILE\Storage" - -# $userName = "oqyude" -# $diskLabel = "S:" -# $games = "$diskLabel\Games" -# $storageGames = "N:\Games\.storage" diff --git a/src/init.ps1 b/src/init.ps1 new file mode 100644 index 0000000..610c9b5 --- /dev/null +++ b/src/init.ps1 @@ -0,0 +1,11 @@ +# Init +Set-Location -Path $PSScriptRoot + +$root = Join-Path $PSScriptRoot ".." + +$varsFile = Join-Path $root "src\vars.ps1" +if (Test-Path $varsFile) { + . $varsFile +} else { + Write-Warning "Vars file not found: $varsFile" +} diff --git a/check.ps1 b/src/modules/apps-data-check.ps1 similarity index 94% rename from check.ps1 rename to src/modules/apps-data-check.ps1 index 15261ed..0a3f881 100644 --- a/check.ps1 +++ b/src/modules/apps-data-check.ps1 @@ -1,8 +1,8 @@ +# Undone param( [string]$csvPath = $appsAll ) -# Импорт CSV $apps = Import-Csv -Path $csvPath foreach ($app in $apps) { @@ -10,7 +10,6 @@ foreach ($app in $apps) { $AppName = $app.App - # Разворачиваем пути $rawFrom = $app.From -replace '\$AppName', $AppName $rawTo = $app.To -replace '\$AppName', $AppName diff --git a/apps-manager.ps1 b/src/modules/apps-data-manager.ps1 similarity index 68% rename from apps-manager.ps1 rename to src/modules/apps-data-manager.ps1 index 20deb5d..b4694d5 100644 --- a/apps-manager.ps1 +++ b/src/modules/apps-data-manager.ps1 @@ -1,30 +1,31 @@ +# Manage symlink state. Reconnect = disconnect && connect param( [string]$action = "reconnect" # connect | disconnect | reconnect ) -Write-Host "Apps Manager запущен с действием: $action" +Write-Host "Apps Manager started with action: $action" -# CSV-файл с приложениями +# CSV file with applications $config = $appsAll -# Импорт CSV +# Import CSV $csv = Import-Csv -Path $config foreach ($app in $csv) { - # Пропускаем отключённые + # Skip disabled entries if ($app.Enabled -ne "1") { continue } $AppName = $app.App - # Разворачиваем строки From и To с подстановкой $AppName + # Expand From and To strings with $AppName substitution $rawFrom = $app.From -replace '\$AppName', $AppName $rawTo = $app.To -replace '\$AppName', $AppName - # Разворачиваем переменные окружения + # Expand environment variables $from = $ExecutionContext.InvokeCommand.ExpandString($rawFrom) $to = $ExecutionContext.InvokeCommand.ExpandString($rawTo) - # Если путь To относительный, делаем его абсолютным относительно пользователя + # If To path is relative, make it absolute relative to the user if (-not [System.IO.Path]::IsPathRooted($to)) { $to = Join-Path $env:USERPROFILE $to } @@ -36,17 +37,17 @@ foreach ($app in $csv) { Write-Host " Expanded From: $from" Write-Host " Expanded To : $to" - # Обработка isolate: выполняем подскрипт вместо симлинков + # Handle isolate type: execute a script instead of symlinks if ($app.Type -eq "isolate") { if ($app.Script) { - # Шагово: сначала подставляем $AppName + # Step 1: replace $AppName $scriptRaw = $app.Script -replace '\$AppName', $AppName - # Потом заменяем $Apps на путь $apps (если опечатка в CSV) + # Step 2: replace $Apps with $apps path (in case of typo in CSV) $scriptRaw = $scriptRaw -replace '\$apps', $apps - # Теперь расширяем оставшиеся vars (env и т.д.) + # Step 3: expand remaining variables (env etc.) $scriptPath = $ExecutionContext.InvokeCommand.ExpandString($scriptRaw) } else { - # Fallback без Script + # Fallback if Script is not defined $safeName = $AppName -replace ' ', '_' $scriptPath = Join-Path $apps "$safeName.ps1" } @@ -54,7 +55,7 @@ foreach ($app in $csv) { Write-Host " Isolate mode: Executing script $scriptPath" if (Test-Path $scriptPath) { try { - # Передаём action и app-контекст в подскрипт + # Pass action and app context to the script & $scriptPath -Action $action -AppName $AppName -From $from -To $to } catch { Write-Error "Script failed for $AppName`: $($_.Exception.Message)" @@ -62,7 +63,7 @@ foreach ($app in $csv) { } else { Write-Warning "Isolate script not found: $scriptPath" } - continue # Пропускаем симлинки + continue # Skip symlink handling } switch ($action.ToLower()) { @@ -85,7 +86,7 @@ foreach ($app in $csv) { } } default { - Write-Warning "Неизвестное действие: $action" + Write-Warning "Unknown action: $action" } } } diff --git a/src/vars.ps1 b/src/vars.ps1 new file mode 100644 index 0000000..30a90fa --- /dev/null +++ b/src/vars.ps1 @@ -0,0 +1,27 @@ +# LOCAL + +# Modules +$appsDataManager = "$PSScriptRoot\modules\apps-data-manager.ps1" + +# Package Manager Installers +$winget = "$PSScriptRoot\winget.ps1" + +# Data folder +$data = "$root\data" + +# Setup Data Folder +$apps = "$data\isolate" +$appsAll = "$data\apps-data.csv" +# $appsUser = "$apps\$env:COMPUTERNAME" +# $appsLegacy = "$apps\legacy" + +# Mounts +# $mounts = "$data\mounts" + +# GLOBAL +$storage = "$env:USERPROFILE\Storage" + +# $userName = "oqyude" +# $diskLabel = "S:" +# $games = "$diskLabel\Games" +# $storageGames = "N:\Games\.storage" diff --git a/settings/winget.ps1 b/src/winget.ps1 similarity index 98% rename from settings/winget.ps1 rename to src/winget.ps1 index 95017ed..15648e6 100644 --- a/settings/winget.ps1 +++ b/src/winget.ps1 @@ -1,3 +1,3 @@ -Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile winget.msixbundle -Add-AppxPackage winget.msixbundle +Invoke-WebRequest -Uri https://aka.ms/getwinget -OutFile winget.msixbundle +Add-AppxPackage winget.msixbundle del winget.msixbundle \ No newline at end of file