CCCPaste

generate_KF2_shortcut_steam

@echo off
setlocal enabledelayedexpansion
title Make KF2 Shortcut

1>nul 2>&1( fsutil file createnew test.txt 0 ) && ( del test.txt ) || ( title ERROR - No write permission & echo ERROR^: can't write here. Check write access. & echo   & pause & goto :eof)

:EnterPath
set p=
echo Providing game path is required for shortcut to have KF2 icon. It's optional.
echo.
set /p p="(optional) enter game path (example D:\Games\Steam\steamapps\common\killingfloor2) "
if not "%p%"=="" (
	for %%F in ("%p%") do (
		set kf2folder=%%~F
		if "!kf2folder:~-1!"=="/" set "kf2folder=!kf2folder:~0,-1!"
		if "!kf2folder:~-1!"=="\" set "kf2folder=!kf2folder:~0,-1!"
		if "!kf2folder:~0,1!"==" " set "kf2folder=!kf2folder:~1!"
		
		if exist "!kf2folder!\Binaries\Win64\KFGame.exe" (
			set parse_icon=$s.IconLocation='!kf2folder!\Binaries\Win64\KFGame.exe,0';
			goto :MakeShortcut
		)
	)
)

:MakeShortcut
powershell "$s=(New-Object -COM WScript.Shell).CreateShortcut('KF2.lnk');$s.TargetPath='%windir%\explorer.exe';$s.Arguments='steam://rungameid/232090';$s.WorkingDirectory='%windir%';%parse_icon%$s.Save()"