@echo on
:: Controlla i privilegi di amministratore ed eleva il file .bat se necessario
net session >nul 2>&1
if %errorLevel% == 0 (
    goto :runScript
) else (
    echo Richiesta privilegi di amministratore...
    powershell -Command "Start-Process cmd -ArgumentList '/c %~f0' -Verb RunAs"
    exit /b
)

:runScript
echo Avvio configurazione della Console Legacy...
echo.

:: Esegue i comandi PowerShell direttamente in linea senza file esterni
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
    "Write-Host '1. Installazione funzionalità Microsoft.Windows.Console.Legacy...' -ForegroundColor Cyan;" ^
    "try {" ^
        "Add-WindowsCapability -Online -Name 'Microsoft.Windows.Console.Legacy~~~~' -ErrorAction Stop;" ^
        "Write-Host 'Funzionalità installata!' -ForegroundColor Green;" ^
    "} catch {" ^
        "Write-Warning 'Errore installazione (potrebbe essere gia presente): ' + $_.Exception.Message;" ^
    "}" ^
    "Write-Host '2. Configurazione Windows Console Host come default...' -ForegroundColor Cyan;" ^
    "$RegPath = 'HKCU:\Console\%%%%Startup';" ^
    "if (-not (Test-Path $RegPath)) { New-Item -Path $RegPath -Force | Out-Null };" ^
    "New-ItemProperty -Path $RegPath -Name 'DelegationConsole' -Value '{B23D10C0-7EB5-4B9A-A3B3-5FA7432D5434}' -PropertyType String -Force | Out-Null;" ^
    "New-ItemProperty -Path $RegPath -Name 'DelegationTerminal' -Value '{B23D10C0-7EB5-4B9A-A3B3-5FA7432D5434}' -PropertyType String -Force | Out-Null;" ^
    "New-ItemProperty -Path 'HKCU:\Console' -Name 'ForceV2' -Value 0 -PropertyType DWord -Force | Out-Null;" ^
    "Write-Host '3. Riavvio di explorer.exe...' -ForegroundColor Yellow;" ^
    "Stop-Process -Name explorer -Force;" ^
    "Write-Host 'Operazione completata con successo!' -ForegroundColor Green;"

echo.
echo Procedura terminata. Premi un tasto per chiudere la finestra.
pause >nul
