:: This is a Windows batch file to switch between differnet mod profiles for KSP 1.0.5. Feel free to use and adapt it to your needs, or to improve it, whatever. It's licensed under the Do What the Fuck You Want to Public License http://www.wtfpl.net/txt/copying/

:: The profiles are stored in folders inside "\Kerbal Space Program\Profiles\". The script simply moves the files around to switch between profiles. Each contains the CKAN, GameData and saves folders as well as PartDatabase.cfg and an identification file.

:: The script is set up with my own three mod profiles, if you know how to read batch files this should be fairly easy to modify to fit your own profiles.

@echo off

echo KSP Profile Switcher v1.1

if exist "MAIN.KMP" echo Current profile: Main

if exist "STOCK.KMP" echo Current profile: Stock

if exist "BDARM.KMP" echo Current profile: BDArmory

:CHOICE

echo.

echo Choose mod profile:

echo 1. Main

echo 2. Stock

echo 3. BDArmory

choice /c:123 > nul

if errorlevel 3 goto BDARM

if errorlevel 2 goto STOCK

if errorlevel 1 goto MAIN

:MAIN

if exist MAIN.KMP goto ERROR1

if exist STOCK.KMP move CKAN .\Profiles\STOCK\ > nul

if exist STOCK.KMP move GameData .\Profiles\STOCK\ > nul

if exist STOCK.KMP move saves .\Profiles\STOCK\ > nul

if exist STOCK.KMP move PartDatabase.cfg .\Profiles\STOCK\ > nul

if exist STOCK.KMP move STOCK.KMP .\Profiles\STOCK\ > nul

if exist BDARM.KMP move CKAN .\Profiles\BDARM\ > nul

if exist BDARM.KMP move GameData .\Profiles\BDARM\ > nul

if exist BDARM.KMP move saves .\Profiles\BDARM\ > nul

if exist BDARM.KMP move PartDatabase.cfg .\Profiles\BDARM\ > nul

if exist BDARM.KMP move BDARM.KMP .\Profiles\BDARM\ > nul

move .\Profiles\MAIN\MAIN.KMP .\ > nul

move .\Profiles\MAIN\CKAN .\ > nul

move .\Profiles\MAIN\GameData .\ > nul

move .\Profiles\MAIN\saves .\ > nul

move .\Profiles\MAIN\PartDatabase.cfg .\ > nul

echo.

echo Switched to profile "Main"

goto END

:STOCK

if exist STOCK.KMP goto ERROR1

if exist MAIN.KMP move CKAN .\Profiles\MAIN\ > nul

if exist MAIN.KMP move GameData .\Profiles\MAIN\ > nul

if exist MAIN.KMP move saves .\Profiles\MAIN\ > nul

if exist MAIN.KMP move PartDatabase.cfg .\Profiles\MAIN\ > nul

if exist MAIN.KMP move MAIN.KMP .\Profiles\MAIN\ > nul

if exist BDARM.KMP move CKAN .\Profiles\BDARM\ > nul

if exist BDARM.KMP move GameData .\Profiles\BDARM\ > nul

if exist BDARM.KMP move saves .\Profiles\BDARM\ > nul

if exist BDARM.KMP move PartDatabase.cfg .\Profiles\BDARM\ > nul

if exist BDARM.KMP move BDARM.KMP .\Profiles\BDARM\ > nul

move .\Profiles\STOCK\STOCK.KMP .\ > nul

move .\Profiles\STOCK\CKAN .\ > nul

move .\Profiles\STOCK\GameData .\ > nul

move .\Profiles\STOCK\saves .\ > nul

move .\Profiles\STOCK\PartDatabase.cfg .\ > nul

echo.

echo Switched to profile "Stock"

goto END

:BDARM

if exist BDARM.KMP goto ERROR1

if exist MAIN.KMP move CKAN .\Profiles\MAIN\ > nul

if exist MAIN.KMP move GameData .\Profiles\MAIN\ > nul

if exist MAIN.KMP move saves .\Profiles\MAIN\ > nul

if exist MAIN.KMP move PartDatabase.cfg .\Profiles\MAIN\ > nul

if exist MAIN.KMP move MAIN.KMP .\Profiles\MAIN\ > nul

if exist STOCK.KMP move CKAN .\Profiles\STOCK\ > nul

if exist STOCK.KMP move GameData .\Profiles\STOCK\ > nul

if exist STOCK.KMP move saves .\Profiles\STOCK\ > nul

if exist STOCK.KMP move PartDatabase.cfg .\Profiles\STOCK\ > nul

if exist STOCK.KMP move STOCK.KMP .\Profiles\STOCK\ > nul

move .\Profiles\BDARM\BDARM.KMP .\ > nul

move .\Profiles\BDARM\CKAN .\ > nul

move .\Profiles\BDARM\GameData .\ > nul

move .\Profiles\BDARM\saves .\ > nul

move .\Profiles\BDARM\PartDatabase.cfg .\ > nul

echo.

echo Switched to profile "BDArmory"

goto END

:ERROR1

echo.

echo Error: choose another profile

goto CHOICE

:END

echo.

echo Press any key to exit the script.