AllUsersAppData in JScript

5 01 2010

Die Ermittlung des Pfads des “AllUsersAppData” Ordners (vgl. SHGetFolderPath(CSIDL_COMMON_APPDATA) in C++, z. B. C:\Documents and Settings\All Users\Application Data in einem englischen Windows XP) ist in JScript nicht so einfach, da hierfür kein Identifier in der SpecialFolders Collection definiert ist. Stattdessen geht es so:

var objShell = new ActiveXObject("Shell.Application");
var objFolder = objShell.Namespace(0x23);
var objFolderItem = objFolder.Self;
WScript.Echo(objFolderItem.Path);

Anstelle von 0x23 können natürlich auch andere Konstanten für andere (virtuelle) Ordner verwendet werden. Das folgende Script zeigt alle bekannten Ordner an:

var msg = "";
var objShell = new ActiveXObject("Shell.Application");
for (i = 0; i <= 255; ++i)
{
  var objFolder = objShell.Namespace(i);
  if (objFolder != null)
  {
    var objFolderItem = objFolder.Self;
    msg += i + " " + objFolderItem.Path + "\r\n";
  }
}
WScript.Echo(msg);


Aktionen

Information

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s




%d Bloggern gefällt das: