mirror of
https://github.com/jazir555/GamesDows.git
synced 2025-06-05 07:07:23 +02:00
193 lines
8.4 KiB
Plaintext
193 lines
8.4 KiB
Plaintext
@echo off
|
|
SETLOCAL EnableExtensions EnableDelayedExpansion
|
|
|
|
:: Define Steam folder path
|
|
SET "STEAM_FOLDER=C:\Program Files (x86)\Steam"
|
|
|
|
:: Check if Steam is installed
|
|
IF NOT EXIST "%STEAM_FOLDER%\Steam.exe" (
|
|
echo Steam is not installed. Downloading and installing Steam...
|
|
|
|
:: Define download URL
|
|
SET "STEAM_INSTALLER_URL=https://steamcdn-a.akamaihd.net/client/installer/SteamSetup.exe"
|
|
|
|
:: Download Steam installer
|
|
echo Downloading Steam installer...
|
|
powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $url='%STEAM_INSTALLER_URL%'; $path='%TEMP%\SteamSetup.exe'; Invoke-WebRequest $url -OutFile $path; Start-Process -FilePath $path -ArgumentList '/S' -Wait"
|
|
|
|
:: Check if Steam was installed
|
|
IF NOT EXIST "%STEAM_FOLDER%\Steam.exe" (
|
|
echo Steam installation failed. Please install Steam manually.
|
|
pause
|
|
exit /b 1
|
|
)
|
|
)
|
|
|
|
echo Steam installed successfully!
|
|
:: Define script names and paths
|
|
SET "SCRIPT_NAME=DelayedExplorerStart.bat"
|
|
SET "SCRIPT_PATH=%STEAM_FOLDER%\%SCRIPT_NAME%"
|
|
SET "EXPLORER_PATH=C:\Windows\explorer.exe"
|
|
|
|
:: Create the DelayedExplorerStart.bat script in the Steam folder
|
|
echo Creating DelayedExplorerStart.bat script
|
|
(
|
|
echo @echo off
|
|
echo ^:: Check if user is logged on
|
|
echo query user ^| find /i "%USERNAME%" ^>nul
|
|
echo if ERRORLEVEL 1 exit
|
|
echo ^:: Set Shell back to Explorer
|
|
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%EXPLORER_PATH%" /f
|
|
echo timeout /t 20 /nobreak ^>nul
|
|
echo start C:\Windows\explorer.exe
|
|
echo timeout /t 10 /nobreak ^>nul
|
|
echo REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "%STEAM_PATH%" /f
|
|
) > "%SCRIPT_PATH%"
|
|
|
|
:: Create VBScript to run the batch file silently
|
|
echo Creating RunBatchSilently.vbs script
|
|
SET "VBS_NAME=RunBatchSilently.vbs"
|
|
SET "VBS_PATH=%STEAM_FOLDER%\%VBS_NAME%"
|
|
(
|
|
echo Set WshShell = CreateObject("WScript.Shell")
|
|
echo WshShell.Run chr(34^) ^& "%SCRIPT_PATH%" ^& chr(34^), 0, True
|
|
echo Set WshShell = Nothing
|
|
) > "%VBS_PATH%"
|
|
|
|
:: Create XML file for the scheduled task
|
|
SET "XML_PATH=%STEAM_FOLDER%\DelayedExplorerStartTask.xml"
|
|
echo Creating DelayedExplorerStartTask.xml
|
|
(
|
|
echo ^<?xml version="1.0" encoding="UTF-16"?^>
|
|
echo ^<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"^>
|
|
echo ^<RegistrationInfo^>
|
|
echo ^<Date^>2020-01-01T00:00:00^</Date^>
|
|
echo ^<Author^>%USERNAME%^</Author^>
|
|
echo ^<Description^>Run DelayedExplorerStart.bat at logon.^</Description^>
|
|
echo ^</RegistrationInfo^>
|
|
echo ^<Triggers^>
|
|
echo ^<LogonTrigger^>
|
|
echo ^<Enabled^>true^</Enabled^>
|
|
echo ^</LogonTrigger^>
|
|
echo ^</Triggers^>
|
|
echo ^<Principals^>
|
|
echo ^<Principal id="Author"^>
|
|
echo ^<UserId^>%USERNAME%^</UserId^>
|
|
echo ^<LogonType^>InteractiveToken^</LogonType^>
|
|
echo ^<RunLevel^>HighestAvailable^</RunLevel^>
|
|
echo ^</Principal^>
|
|
echo ^</Principals^>
|
|
echo ^<Settings^>
|
|
echo ^<MultipleInstancesPolicy^>IgnoreNew^</MultipleInstancesPolicy^>
|
|
echo ^<DisallowStartIfOnBatteries^>false^</DisallowStartIfOnBatteries^>
|
|
echo ^<StopIfGoingOnBatteries^>false^</StopIfGoingOnBatteries^>
|
|
echo ^<AllowHardTerminate^>true^</AllowHardTerminate^>
|
|
echo ^<StartWhenAvailable^>true^</StartWhenAvailable^>
|
|
echo ^<RunOnlyIfNetworkAvailable^>false^</RunOnlyIfNetworkAvailable^>
|
|
echo ^<IdleSettings^>
|
|
echo ^<StopOnIdleEnd^>true^</StopOnIdleEnd^>
|
|
echo ^<RestartOnIdle^>false^</RestartOnIdle^>
|
|
echo ^</IdleSettings^>
|
|
echo ^<Enabled^>true^</Enabled^>
|
|
echo ^<Hidden^>false^</Hidden^>
|
|
echo ^<WakeToRun^>false^</WakeToRun^>
|
|
echo ^<ExecutionTimeLimit^>PT72H^</ExecutionTimeLimit^>
|
|
echo ^<Priority^>7^</Priority^>
|
|
echo ^</Settings^>
|
|
echo ^<Actions Context="Author"^>
|
|
echo ^<Exec^>
|
|
echo ^<Command^>wscript.exe^</Command^>
|
|
echo ^<Arguments^>"%VBS_PATH%"^</Arguments^>
|
|
echo ^</Exec^>
|
|
echo ^</Actions^>
|
|
echo ^</Task^>
|
|
) > "%XML_PATH%"
|
|
|
|
:: Delete the existing scheduled task if it exists
|
|
echo Deleting existing scheduled task if it exists
|
|
schtasks /delete /tn "RunDelayedExplorerStart" /f
|
|
|
|
:: Create the scheduled task using the XML file
|
|
echo Creating the scheduled task using the XML file
|
|
schtasks /create /tn "RunDelayedExplorerStart" /xml "%XML_PATH%"
|
|
|
|
|
|
:: Additional configurations and optimizations
|
|
echo Registry modifications and other optimizations...
|
|
|
|
:: Enable automatic logon
|
|
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
|
|
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d "%USERNAME%" /f
|
|
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "" /f
|
|
|
|
:: Disable the boot UI
|
|
bcdedit.exe -set {globalsettings} bootuxdisabled on
|
|
|
|
:: Disable Logon UI
|
|
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DisableLogonUI /t REG_DWORD /d 1 /f
|
|
|
|
:: Disable Visual Effects
|
|
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v VisualEffects /t REG_DWORD /d 3 /f
|
|
|
|
:: Increase File System Performance
|
|
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v NtfsDisableLastAccessUpdate /t REG_DWORD /d 1 /f
|
|
|
|
:: Disable Fast Startup to ensure changes take effect
|
|
powercfg -h off
|
|
|
|
:: Disable the lock screen (effective for Enterprise/Education)
|
|
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Personalization" /v NoLockScreen /t REG_DWORD /d 1 /f
|
|
|
|
:: Set the logon background to black by setting a custom background
|
|
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v DisableLogonBackgroundImage /t REG_DWORD /d 1 /f
|
|
|
|
:: Create the backgrounds folder if it doesn't exist
|
|
if not exist "C:\Windows\System32\oobe\info\backgrounds" (
|
|
mkdir "C:\Windows\System32\oobe\info\backgrounds"
|
|
)
|
|
|
|
:: Generate a black image using PowerShell
|
|
powershell -command "Add-Type -AssemblyName System.Drawing; $width = 1920; $height = 1080; $bitmap = New-Object System.Drawing.Bitmap $width, $height; $graphics = [System.Drawing.Graphics]::FromImage($bitmap); $black = [System.Drawing.Brushes]::Black; $graphics.FillRectangle($black, 0, 0, $width, $height); $bitmap.Save('C:\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg', [System.Drawing.Imaging.ImageFormat]::Jpeg); $graphics.Dispose(); $bitmap.Dispose();"
|
|
|
|
:: Set the custom black background image for the lock screen
|
|
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Personalization" /v LockScreenImage /t REG_SZ /d "C:\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg" /f
|
|
|
|
:: Do not display last signed-in user name
|
|
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v DontDisplayLastUserName /t REG_DWORD /d 1 /f
|
|
|
|
:: Do not display the username and other information during sign-in
|
|
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v DontDisplayLockedUserId /t REG_DWORD /d 3 /f
|
|
|
|
:: Disable Windows animations during sign-in
|
|
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v DisableStatusMessages /t REG_DWORD /d 1 /f
|
|
|
|
:: Disable verbose status messages
|
|
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v VerboseStatus /t REG_DWORD /d 0 /f
|
|
|
|
:: Disable the Welcome screen and reduce animation delay
|
|
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v DelayedDesktopSwitchTimeout /t REG_DWORD /d 0 /f
|
|
|
|
:: Disable lock screen transitions
|
|
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v DisableLockScreenAppNotifications /t REG_DWORD /d 1 /f
|
|
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\System" /v DisableLogonUIAnimations /t REG_DWORD /d 1 /f
|
|
|
|
:: Disable Startup Delay
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /f
|
|
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Serialize" /v StartupDelayInMSec /t REG_DWORD /d 0 /f
|
|
|
|
:: Improve Windows Explorer Process Priority
|
|
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\explorer.exe\PerfOptions" /v CpuPriorityClass /t REG_DWORD /d 3 /f
|
|
|
|
:: Adjust Large System Cache
|
|
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v LargeSystemCache /t REG_DWORD /d 1 /f
|
|
|
|
:: Enable No GUI Boot
|
|
bcdedit /set {current} quietboot on
|
|
|
|
echo Registry modifications are complete.
|
|
echo Steam Big Picture set as default shell.
|
|
echo Automatic logon enabled.
|
|
echo Boot UI disabled.
|
|
|
|
pause
|