Break On ;;; ALLOWS SCRIPT TO BE INTERRUPTED DURING EXECUTION (may want to remove once in production)
$nul = SetOption("NoVarsInStrings","On") ;;; IGNORES VARIABLES THAT ARE INCLUDED IN STRINGS
$nul = SetOption("NoMacrosInStrings","On") ;;; IGNORES MACROS THAT ARE INCLUDED IN STRINGS
$nul = SetOption("Explicit","On") ;;; REQUIRES ALL VARIABLES TO BE DECLARED
Dim $inifile,$mappings,$mapping,$group, ;;; DIM VARIABLES
$drive,$share,$
$inifile = "\\path\to\inifile.ini" ;;; CHANGE THIS TO THE CORRECT PATH OF YOUR DRIVE INI FILE
$mappings = EnumINI($inifile) ;;; USES EnumINI() UDF TO CREATE AN ARRAY LIST OF ALL THE SECTIONS IN INI FILE
For Each $mapping in $mappings ;;; CYCLES THROUGH EACH ELEMENT OF THE ARRAY
$group = ReadProfileString($inifile,$mapping,"group") ;;; READS THE GROUP KEY FROM CURRENT SECTION
$drive = ReadProfileString($inifile,$mapping,"drive") ;;; READS THE DRIVE KEY FROM CURRENT SECTION
$share = ReadProfileString($inifile,$mapping,"share") ;;; READS THE SHARE KEY FROM CURRENT SECTION
? "Mapping "+$group+" to the "+$share+" share using drive letter "+$drive
Use $drive $share /persistent ;;; ATTEMPTS TO CONNECT DRIVE
If @Error=0 ;;; CHECKS FOR ERROR
? "Mapped successfully"
Else
? "Error"
Endif
Next
? "Script complete. Press any key to exit..."
get $ ;;; PAUSES SCRIPT UNTIL KEY IS PRESSED
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; EnumINI() - Enumerates INI file keys into an array. ;;;
;;; Written By: Glenn Barnas ;;;
;;; http://www.kixtart.org/forums/ubbthreads.php?ubb=showflat&Board=7&Number=135385 ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Function EnumIni($_fSrcFile, OPTIONAL $_fSectName)
Dim $_fSectList
If Exist($_fSrcFile) = 0
Exit 2
EndIf
$_fSectList = ReadProfileString($_fSrcFile, $_fSectName, '')
If @ERROR
Exit @ERROR
EndIf
If Len($_fSectList) > 0
$EnumIni = Split(Left($_fSectList,len($_fSectList)-1), Chr(10))
Exit 0
EndIF
Exit 13
EndFunction