; INIalaContro.ahk ; Made for: Contro ; Thread: https://www.donationcoder.com/forum/index.php?topic=52258.0 ; ; Author: publicdomainvic ; License: CC0 1.0 Universal - Public Domain Dedication ; Website: https://publicdomain.is ; Get folder FileSelectFolder, Folder Folder := RegExReplace(Folder, "\\$") ; Open Launcher.ini for write file := FileOpen(Folder . "\\Launcher.ini", "w `n") ; Write header file.WriteLine("[General]") file.WriteLine("numRows=25") file.WriteLine("numCols=9") file.WriteLine("[Titles]") ; Set paths array pathArray := Array() ; Loop files and folders Loop, Files, %Folder%\*.*, FD { ; Split the path SplitPath, A_LoopFileLongPath, OutFileName, OutDir, OutExtension, OutNameNoExt, OutDrive ; Process lnk and url Switch A_LoopFileExt { Case "lnk": FileGetShortcut, %A_LoopFileLongPath%, OutTarget file.WriteLine("Title" . A_Index . "=" . OutNameNoExt) pathArray.Push(OutTarget) Case "url": IniRead, ExtractedURL, %A_LoopFileLongPath%, InternetShortcut, URL file.WriteLine("Title" . A_Index . "=" . OutNameNoExt) pathArray.Push(ExtractedURL) Default: file.WriteLine("Title" . A_Index . "=" . OutNameNoExt) pathArray.Push(A_LoopFileLongPath) } } ; Print paths file.WriteLine("[Paths]") ; Loop paths array for write for index, element in pathArray { file.WriteLine("Path" . index . "=" . element) } ; Close the file file.Close() ; Advise user MsgBox Launcher.ini created!