установка приложений через winget

main
pipistrello 2025-10-17 13:48:37 +03:00
parent f1e5f23f08
commit 41fc440c3f
1 changed files with 81 additions and 0 deletions

81
winget_apps.bat Normal file
View File

@ -0,0 +1,81 @@
@echo off
REM Установить перечисленные приложения через winget и создать ярлыки в Start Menu -> Critical Fixes
REM Запускать с правами администратора. Проверьте id через `winget search <name>` при ошибках.
SET "DEST_DIR=C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Critical Fixes"
mkdir "%DEST_DIR%" 2>nul
REM ---------- Установка приложений (при необходимости замените --name на --id после проверки) ----------
winget install --name "Advanced IP Scanner" -e --accept-source-agreements --accept-package-agreements
winget install --name "ATTO Disk Benchmark" -e --accept-source-agreements --accept-package-agreements
winget install --name "Autoruns" -e --accept-source-agreements --accept-package-agreements
winget install --name "BlueScreenView" -e --accept-source-agreements --accept-package-agreements
winget install --name "Bulk Crap Uninstaller" -e --accept-source-agreements --accept-package-agreements
winget install --name "CPU-Z" -e --accept-source-agreements --accept-package-agreements
winget install --name "CrystalDiskInfo" -e --accept-source-agreements --accept-package-agreements
winget install --name "CutLongNames" -e --accept-source-agreements --accept-package-agreements
winget install --name "Devices clean" -e --accept-source-agreements --accept-package-agreements
winget install --name "Far Manager" -e --accept-source-agreements --accept-package-agreements
winget install --name "FlashCard Recovery" -e --accept-source-agreements --accept-package-agreements
winget install --name "GPU-Z" -e --accept-source-agreements --accept-package-agreements
winget install --name "HDD-Speed" -e --accept-source-agreements --accept-package-agreements
winget install --name "HWiNFO" -e --accept-source-agreements --accept-package-agreements
winget install --name "Process Hacker" -e --accept-source-agreements --accept-package-agreements
winget install --name "Process Monitor" -e --accept-source-agreements --accept-package-agreements
winget install --name "Unlocker" -e --accept-source-agreements --accept-package-agreements
winget install --name "Victoria" -e --accept-source-agreements --accept-package-agreements
REM ---------- Создать PowerShell-скрипт для поиска исполняемых файлов и создания ярлыков ----------
SET "PSFILE=%TEMP%\create_critical_fixes_shortcuts.ps1"
> "%PSFILE%" (
echo $dest = "%DEST_DIR%"
echo if (-not (Test-Path $dest)) { New-Item -Path $dest -ItemType Directory | Out-Null }
echo $searchPaths = @("C:\Program Files","C:\Program Files (x86)","C:\Users\Public\Desktop","C:\ProgramData")
echo $apps = @(
echo @{Name='Advanced IP Scanner'; Pattern='advancedip|advanced ip'},
echo @{Name='ATTO Disk Benchmark'; Pattern='atto'},
echo @{Name='Autoruns'; Pattern='autoruns'},
echo @{Name='BlueScreen Viewer'; Pattern='bluescreen|bluescreenviewer'},
echo @{Name='Bulk Crap Uninstaller'; Pattern='bulk|bcuninstall|bcuri'},
echo @{Name='CPU-Z'; Pattern='cpuz'},
echo @{Name='CrystalDiskInfo'; Pattern='crystaldiskinfo|crystaldisk'},
echo @{Name='CutLongNames'; Pattern='cutlongnames'},
echo @{Name='Devices clean'; Pattern='devices.*clean|devicesclean'},
echo @{Name='Far Manager'; Pattern='far.exe|farmanager|far'},
echo @{Name='FlashCard Recovery'; Pattern='flashcard|flash card|flashcardrecovery'},
echo @{Name='GPU-Z'; Pattern='gpu-z|gpu_z|gpuz'},
echo @{Name='HDD-Speed'; Pattern='hdd-speed|hddspeed'},
echo @{Name='HWiNFO'; Pattern='hwinfo'},
echo @{Name='Process Hacker'; Pattern='processhacker|process hacker'},
echo @{Name='Process Monitor'; Pattern='procmon|processmonitor|process monitor'},
echo @{Name='Unlocker'; Pattern='unlocker'},
echo @{Name='Victoria'; Pattern='victoria'}
echo )
echo $shell = New-Object -ComObject WScript.Shell
echo foreach ($app in $apps) {
echo Write-Host "Searching for" $app.Name
echo $found = $null
echo foreach ($p in $searchPaths) {
echo try {
echo $found = Get-ChildItem -Path $p -Include *.exe -Recurse -ErrorAction SilentlyContinue | Where-Object { $_.Name -imatch $app.Pattern } | Select-Object -First 1
echo } catch {}
echo if ($found) { break }
echo }
echo if ($found) {
echo $lnk = $shell.CreateShortcut((Join-Path $dest ($app.Name + '.lnk')))
echo $lnk.TargetPath = $found.FullName
echo $lnk.WorkingDirectory = $found.DirectoryName
echo $lnk.IconLocation = $found.FullName
echo $lnk.Save()
echo Write-Host "Created shortcut for" $app.Name "->" $found.FullName
echo } else {
echo Write-Host "Executable not found for" $app.Name " — проверьте имя пакета или путь установки."
echo }
echo }
)
powershell -NoProfile -ExecutionPolicy Bypass -File "%PSFILE%"
del "%PSFILE%" 2>nul
echo Готово. Проверьте папку "%DEST_DIR%" для ярлыков.
pause