@ECHO OFF ECHO. ECHO NoStartSkype.bat, Version 1.01 for Windows 7 and later ECHO Disable Skype to start when Windows starts, reenforce after Skype updates ECHO. ECHO Usage: NOSTARTSKYPE.BAT ECHO. ECHO Notes: This batch file has to be run only once on the computer, with ECHO elevated privileges. ECHO The batch file uses a temporary XML file to create a Scheduled ECHO task, which in turn will delete Skype's autostart entry in the ECHO registry at each logon and at each workstation lock event. ECHO Return code ^("ErrorLevel"^) 0 if all seems to go well, 1 for ECHO invalid command line arguments, 2 if a restart with elevated ECHO privileges was required. ECHO. ECHO Written by Rob van der Woude ECHO http://www.robvanderwoude.com ECHO. ECHO. IF "%~1"=="" ( REM Check if running with elevated privileges WHOAMI /Groups 2>NUL | FIND "12288" >NUL IF ERRORLEVEL 1 ( REM Create a temporary script to restart the batch file with elevated privileges > "%Temp%.\%~n0.vbs" ECHO Set UAC = CreateObject^( "Shell.Application" ^) >> "%Temp%.\%~n0.vbs" ECHO UAC.ShellExecute "%~s0", "", "", "runas", 1 REM Restart the batch file with elevated privileges CSCRIPT.EXE //NoLogo "%Temp%.\%~n0.vbs" EXIT /B 2 ) SLEEP 5 >NUL 2>&1 REM Delete temporary script if it exists IF EXIST "%Temp%.\%~n0.vbs" DEL "%Temp%.\%~n0.vbs" ) ELSE ( EXIT /B 1 ) SETLOCAL REM Use WMIC to capture task creation time FOR /F "tokens=*" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Year /Format:Value ^| FIND "="') DO ( FOR /F "tokens=1* delims==" %%B IN ("%%~A") DO ( SET %%~B=0%%~C ) ) REM Create (Unicode) XML file to import scheduled task from SET XML="%Temp%.\%~n0.xml" IF EXIST %XML% DEL %XML% > %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^%Year:~1%-%Month:~-2,2%-%Day:~-2,2%T%Hour:~-2,2%:%Minute:~-2,2%:00.000^ >> %XML% ECHO ^%UserDomain%\%UserName%^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^true^ >> %XML% ECHO ^SessionLock^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^true^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^%UserDomain%\%UserName%^ >> %XML% ECHO ^InteractiveToken^ >> %XML% ECHO ^HighestAvailable^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^IgnoreNew^ >> %XML% ECHO ^false^ >> %XML% ECHO ^true^ >> %XML% ECHO ^true^ >> %XML% ECHO ^false^ >> %XML% ECHO ^false^ >> %XML% ECHO ^ >> %XML% ECHO ^true^ >> %XML% ECHO ^false^ >> %XML% ECHO ^ >> %XML% ECHO ^true^ >> %XML% ECHO ^true^ >> %XML% ECHO ^true^ >> %XML% ECHO ^false^ >> %XML% ECHO ^false^ >> %XML% ECHO ^false^ >> %XML% ECHO ^false^ >> %XML% ECHO ^PT1H^ >> %XML% ECHO ^7^ >> %XML% ECHO ^ >> %XML% ECHO ^PT5M^ >> %XML% ECHO ^3^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^REG.EXE^ >> %XML% ECHO ^Delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /V Skype /F^ >> %XML% ECHO ^ >> %XML% ECHO ^ >> %XML% ECHO ^ REM Delete the task if it already exists SCHTASKS /Query /TN "%~n0" >NUL 2>&1 && SCHTASKS /Delete /TN "%~n0" /F >NUL 2>&1 REM Create the task by importing the XML we just created SCHTASKS /Create /TN "%~n0" /XML %XML% REM Delete the temporary XML file IF EXIST %XML% DEL %XML% ENDLOCAL EXIT /B 0