Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBS kennt ExpandEnviromentStrings nicht - fehlt was?

Frage Entwicklung VB for Applications

Mitglied: DrAlcome

DrAlcome (Level 1) - Jetzt verbinden

16.08.2010 um 14:07 Uhr, 4542 Aufrufe, 4 Kommentare

Mein VBS-Script will nicht funktionieren weil der den Befehl nicht kennt (WinXP Professional)

Hallo Leute,

ich habe ein Script dass auf eine Datei unter "C:\Dokumente und Einstellungen\Benutzer\..." ändert.
Soweit so gut, alles funktioniert so lange ich den Pfad des Benutzernamens von Hand vorgebe, nur sind ja bekanntlich alle Benutzernamen verschieden.
Drum würde ich gerne die Umgebungsvariable %USERNAME% angeben, dazu bräuchte ich dann den Befehl
01.
ExpandEnviromentStrings
Nur leider läuft das vor die Wand, der meint dann immer:
Das Objekt unterstützt diese Eigenschaft oder Methode nicht.: "WshShell.ExpandEnviromentStrings"

Kennt Windows diesen Befehl garnicht standardmäßig?
Mitglied: Karo
16.08.2010 um 15:26 Uhr
Moin,

vielleicht weil es ExpandEnvironmentStrings heisst?

Karo
Bitte warten ..
Mitglied: Biber
16.08.2010 um 16:36 Uhr
[OT]
Zitat von Karo:
vielleicht weil es ExpandEnvironmentStrings heisst?
Andererseits...

.. nicht nur ein "n" zuwenig kann Probleme machen, auch ein "n" zuviel.
Mein seliger Onkel Heinz-Wilfried wollte mal bei einer Partnersuche eigentlich unter "Vorlieben" gerne "Aal" eintragen, weil er den wirklich gerne isst.
Ist auch schiefgegangen.
[/OT]
Bitte warten ..
Mitglied: LotPings
16.08.2010 um 17:27 Uhr
Darüberhinaus macht es Sinn den Ordner nicht fest über "C:\Dokumente und Einst.." anzusprechen, sondern ihn über WshShell.SpecialFolders aufzulösen. Da es einige neuere SpecialFolders gibt, die WshShell.SpecialFolders noch nicht kennt besteht die Alternative über Konstanten und Namespaces wie in folgendem Script gezeigt.
Nicht alle Bezeichner/Pfade sind sinnvoll oder direkt verwertbar aber auf jeden Fall besser als die direkte Kodierung User-/Betriebs-/System abhängiger Pfade.

01.
' Teilweise Ausschnitte aus der script56.chm Hilfe-Datei 
02.
' http://wsh-vbs.de/scr56de.chm/script56.chm 
03.
 
04.
Set WshShell = WScript.CreateObject("WScript.Shell") 
05.
Set WshSysEnv = WshShell.Environment("PROCESS") ' SYSTEM, USER, PROCESS, 
06.
WScript.Echo JL("Env-Username",32) & " : " & WshSysEnv("USERNAME") 
07.
Wscript.Echo JL("Env-Username",32)     & " : " & WshShell.ExpandEnvironmentStrings("%username%") 
08.
 
09.
Set WshNetwork = WScript.CreateObject("WScript.Network") 
10.
WScript.Echo JL("WSHNetwork Domäne",32)& " : " & WshNetwork.UserDomain 
11.
WScript.Echo JL("WSHNetwork Computername",32) & " : " & WshNetwork.ComputerName 
12.
WScript.Echo JL("WSHNetwork Benutzername",32) & " : " & WshNetwork.UserName 
13.
 
14.
' Windows Script Host SpecialFolders Property 
15.
' http://msdn.microsoft.com/en-us/library/0ea7b5xe%28VS.85%29.aspx 
16.
aSpcFolders = Array("AllUsersDesktop", "AllUsersStartMenu", "AllUsersPrograms", _ 
17.
                  "AllUsersStartup ", "Desktop", "Favorites", "Fonts", _ 
18.
                  "MyDocuments", "MyPictures", "NetHood", "PrintHood ", "Programs", _ 
19.
                  "Recent", "SendTo", "StartMenu", "Startup", "Templates") 
20.
 
21.
For Each SpcFld in aSpcFolders 
22.
  WScript.Echo JL("Specialfolder " & SpcFld,32) & " : " & WshShell.SpecialFolders(SpcFld) 
23.
Next  
24.
 
25.
' Enumerating Special Folders 
26.
' http://technet.microsoft.com/de-de/library/ee176604%28en-us%29.aspx 
27.
aSpcFld = Array(&H1&, &H2&, &H3&, &H4&, &H5&, &H6&, &H7&, &H8&, &H9&, &Ha&, &Hb&, &Hd&, &He&, _ 
28.
                &H10&, &H11&, &H12&, &H13&, &H14&, &H15&, &H16&, &H17&, &H18&, &H19&, &H1a&, _ 
29.
                &H1b&, &H1c&, &H1f&, &H20&, &H21&, &H22&, &H23&, &H24&, &H25&, &H26&, &H27&, &H28&, _ 
30.
                &H2b&, &H2e&, &H2f&, &H31&, &H35&,&H36&, &H37&, &H38&, &H39&, &H3b&, &H3d&) 
31.
 
32.
Set objShell = CreateObject("Shell.Application") 
33.
For Each SpecialFolder in aSpcFld 
34.
  Set objFolder = objShell.Namespace(SpecialFolder) 
35.
  Set objFolderItem = objFolder.Self  
36.
  Wscript.Echo JL("&H" & Hex(SpecialFolder) & "&",6) & _ 
37.
               JL(objFolderItem.Name,28) & " : " & objFolderItem.Path  
38.
Next 
39.
 
40.
Function JL(Value,Places) ' Justify Left Value within Places ------------------ 
41.
  If Len (Value) < Places then 
42.
    JL = Left(Value & Space(Places),Places) 
43.
  Else 
44.
    JL=Value 
45.
   End If 
46.
end Function 
Gruß
LotPings
Bitte warten ..
Mitglied: DrAlcome
18.08.2010 um 08:45 Uhr
Leute... krass!!!
Ich könnte gerade mit der Birne auf die Tischkante klatschen!
Das "n" habe ich sowas von übersehen!!! Ich habe aber auch garnicht drauf geachtet, weil ich das Wort "Enviroment" ohne "n" kenne, und da dieses ja "Umwelt" bedeutet (im weitestens Sinne dann ja auch Umgebung), habe ich danach garnicht gesucht.

Danke für eure Hilfe und "Korrekturvorschläge"!

@LotPings: Danke für den Tipp, ich werde mal ausprobieren ob ich das so auch hinbekomme!

P.S.: Wie gut das ich keinen Aal mag!
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst ISS- Feature Einschränkungen für IP-Adressen und Domänennamen fehlt (2)

Frage von Flinnigen1 zum Thema Windows Server ...

Windows 7
Window handle fehlt (3)

Frage von schauan zum Thema Windows 7 ...

Batch & Shell
Cpl Dateien per Batch oder VBS öffnen (1)

Frage von Angelo131095 zum Thema Batch & Shell ...

VB for Applications
gelöst VBS Ordner erstellen - wenn nicht vorhanden! (1)

Frage von freshman2017 zum Thema VB for Applications ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (52)

Frage von sabines zum Thema Internet ...

Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

Router & Routing
PFsense - Netzverbindung steht, aber kein Internet vorhanden (24)

Frage von aschmid zum Thema Router & Routing ...

Windows Server
gelöst Windows 2016 Hyper-V und VHDS (19)

Frage von emeriks zum Thema Windows Server ...