In diesem Script ist ein Fehler mit der Umgebungsvariable kann mir jemand sagen wie ich Umgebungsvariablen in einer WDH einbinden kann?
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile("%windir%\\system32\\drivers\\etc\\hosts")
f1.Move ("%windir%\\system32\\drivers\\etc\\hostsx")
mfg becksking
Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge
sorry hab mich vertippt natürlich heißt es WSH
Hi becksking!
a) Die Umgebungsvariable scheinst du korrekt eingebunden zu haben.
b) Meinst du "GetFile" oder "GetFolder", weil dein Dateiname keine Endung hat?
c) Ich kenne im WSH nur "MoveFile" mit zwei Parametern: fso.MoveFile [Quelle], [Ziel]
"MoveFolder" gibt es nicht, du müsstest hier einen neuen Ordner erstellen und nach dem Transfer der Dateien den alten löschen.
Dein Bsp: f1.MoveFile "%windir%\system32\drivers\etc\hosts\Datei.xyz", "%windir%\system32\drivers\etc\hostsx\Datei.xyz"
Zu beachten sind dabei etwaige Absicherungen im Programmcode, falls Zieldateien schon oder Quelldateien nicht vorhanden oder schreibgeschützt sind, es kann dann zu Laufzeitfehlern kommen.
MfG
UselessUser
die host ist eine datei der script funktioniert ja mit so:
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile("c:\winnt\system32\\drivers\\etc\\hosts")
f1.Move ("c:\winnt\system32\\drivers\\etc\\hostsx")
nur wenn ich die umgebungsvariable benutze nicht...
please help
Hallo becksing!
Also ich habe auch noch ein paar Versuche gemacht, aber der WSH nimmt den allgemeinen Ausdruck %SystemRoot% bzw. %Windir% weder bei Win98 noch bei Win2k an. Das Auslesen über die Systemvariablen nutzt deshalb auch nichts, weil man den Pfad wieder entsprechend mit diesem Ausdruck zusammensetzen müsste.
Da greife ich den Vorschlag von Repi auf, du musst aber den konkreten Pfadnamen angeben, nachdem du das betreffende BS aus der Systemvariable ausgelesen hast, etwa so:
Set she = CreateObject("WScript.Shell")
Set env = she.Environment("System")
SysRoot = env("OS")
If SysRoot = "Windows_NT" Then
WinVerz = "C:\Winnt\"
[...]
Bei Win2k und WinXP wird "Window_NT" zurückgegeben, bei Win98 bleibt die Variable leer, WinME weiß ich nicht.
MfG
UselessUser
Hallo becksking !!
Schon mal versucht %windir% nicht mit in " " zusetzen ???
Kann es z.Z. leider nicht probieren !
Erst heute abend !!
Gruß
repi
Versuch doch im Script, das Environment, bzw. den Inhalt von %windir% auszulesen und in eine Scriptvariable zu setzen, mir der Du dann weiter arbeitest !?