- Offizieller Beitrag
Mit der Funktion werden zu einzelnen/allen Systemordnern der Pfad und die Inhalte ausgegeben.
_ListSystemFolder( )
#cs
-1 alles ausgeben
0 ADMINISTRATIVE_TOOLS = 0x2f
1 ALL_USERS_APPLICATION_DATA = 0x23
2 ALL_USERS_DESKTOP = 0x19
3 ALL_USERS_PROGRAMS = 0x17
4 ALL_USERS_START_MENU = 0x16
5 ALL_USERS_STARTUP = 0x18
6 APPLICATION_DATA = 0x1a
7 COMMON_FILES = 0x2b
8 CONTROL_PANEL = 0x3
9 COOKIES = 0x21
10 DESKTOP = 0x10
11 FONTS = 0x14
12 FAVORITES = 0x6
13 LOCAL_APPLICATION_DATA = 0x1c
14 MY_COMPUTER = 0x11
15 MY_DOCUMENTS = 0x5
16 MY_MUSIC = 0xd
17 MY_NETWORK_PLACES = 0x12
18 MY_PICTURES = 0x27
19 MY_RECENT_DOCUMENTS = 0x8
20 MY_VIDEOS = 0xe
21 NETHOOD = 0x13
22 NETWORK_CONNECTIONS = 0x31
23 PRINTERS_AND_FAXES = 0x4
24 PRINTHOOD = 0x1b
25 PROGRAM_FILES = 0x26
26 PROGRAMS = 0x2
27 RECYCLE_BIN = 0xa
28 SENDTO = 0x9
29 START_MENU = 0xb
30 STARTUP = 0x7
31 SYSTEM32 = 0x25
32 TEMPLATES = 0x15
33 USER_PROFILE = 0x28
34 WINDOWS = 0x24
#ce
$ret = _ListSystemFolder() ; Abfrage aller Systemordner
For $i = 0 To UBound($ret) -1
$aInfo = StringSplit($ret[$i], @LF, 2)
For $j = 0 To UBound($aInfo) -1
ConsoleWrite($aInfo[$j] & @CRLF)
Next
Next
;===============================================================================
; Function Name: _ListSystemFolder($iSelection=-1)
; Description:: Gibt den Pfad eines/aller Systemordner(s) und dessen/deren Inhalt zurück
; Parameter(s): $iSelection - Index für den Systemordner (Liste oben), Standard (-1) für alle
; Return Value(s): Array mit einem Eintrag je Ordner, einzelne Elemente werden durch @LF getrennt
; Author(s): BugFix ([email='bugfix@autoit.de'][/email])
;===============================================================================
Func _ListSystemFolder($iSelection=-1)
Local $aConst[35] = [0x2f,0x23,0x19,0x17,0x16,0x18,0x1a,0x2b,0x3,0x21,0x10,0x14,0x6,0x1c,0x11,0x5,0xd, _
0x12,0x27,0x8,0xe,0x13,0x31,0x4,0x1b,0x26,0x2,0xa,0x9,0xb,0x7,0x25,0x15,0x28,0x24]
Local $objShell = ObjCreate("Shell.Application"), $objFolder, $objFolderItem, $colItems, $aSelect[1], $aOut[1], $tmp
If $iSelection < 0 Then
$aSelect = $aConst
ReDim $aOut[35]
Else
$aSelect[0] = $aConst[$iSelection]
EndIf
For $i = 0 To UBound($aSelect) -1
If $iSelection = -1 Then
$tmp = $i & ' - '
Else
$tmp = ''
EndIf
$objFolder = $objShell.Namespace($aSelect[$i])
$objFolderItem = $objFolder.Self
$tmp &= $objFolderItem.Path & @LF
$colItems = $objFolder.Items
For $objItem In $colItems
$tmp &= $objItem.Name & @LF
Next
$aOut[$i] = $tmp
Next
Return $aOut
EndFunc ;==>_ListSystemFolder