@echo off REM Установить перечисленные приложения через winget и создать ярлыки в Start Menu -> Critical Fixes REM Запускать с правами администратора. Проверьте id через `winget search ` при ошибках. 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