VBS Probleme
Werte Programmierer,
Ich bin nicht so der ober Programmierer, deshalb stehe ich diesmal wieder mal auf der Leitung!
Ich möchte mit dem Script überprüfen, ob eine gewisse Datei (%username%.htm) in einem gewissen Laufwerk vorhanden ist.
Wenn die Datei vorhanden ist, dann soll überprüft werden, ob ein gewisser Ordner vorhanden ist, wenn dieser vorhanden ist, dann soll er die gefundene Datei (%username%.htm) in diesen Ordner kopieren, wenn der Ordner nicht vorhanden ist, dann den Ordner (test) erstellen und dann wieder die Datei in den Ordner Test kopieren!
Leider schaffe ich es nicht das in ein vernünftiges Script zu packen.
Anbei mein Script
Ich bin nicht so der ober Programmierer, deshalb stehe ich diesmal wieder mal auf der Leitung!
Ich möchte mit dem Script überprüfen, ob eine gewisse Datei (%username%.htm) in einem gewissen Laufwerk vorhanden ist.
Wenn die Datei vorhanden ist, dann soll überprüft werden, ob ein gewisser Ordner vorhanden ist, wenn dieser vorhanden ist, dann soll er die gefundene Datei (%username%.htm) in diesen Ordner kopieren, wenn der Ordner nicht vorhanden ist, dann den Ordner (test) erstellen und dann wieder die Datei in den Ordner Test kopieren!
Leider schaffe ich es nicht das in ein vernünftiges Script zu packen.
Anbei mein Script
' *** Initialze objects ***
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.filesystemobject")
' *** aktualisieren ***
If fs.Fileexists(wshshell.ExpandEnvironmentStrings("D:\%username%.htm")) goto :copy
End If
:copy
If fs.Folderxists(wshshell.ExpandEnvironmentStrings("D:\test")) = true then
fs.CopyFile wshshell.ExpandEnvironmentStrings("D:\%username%.htm"), wshshell.ExpandEnvironmentStrings("D:\test\%username%.htm")
else
fs.CreateFolder wshshell.ExpandEnvironmentStrings("D:\test")
fs.CopyFile wshshell.ExpandEnvironmentStrings("D:\%username%.htm"), wshshell.ExpandEnvironmentStrings("D:\test\%username%.htm")
End If
End If
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 166888
Url: https://administrator.de/contentid/166888
Ausgedruckt am: 14.11.2024 um 19:11 Uhr
10 Kommentare
Neuester Kommentar
Hi
probier mal
Gruß
Norbert
probier mal
' *** Initialze objects ***
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.filesystemobject")
' *** aktualisieren ***
If fs.Fileexists(wshshell.ExpandEnvironmentStrings("D:\%username%.htm")) Then
If fs.Folderexists("D:\test") = true then
fs.CopyFile wshshell.ExpandEnvironmentStrings("D:\%username%.htm"), wshshell.ExpandEnvironmentStrings("D:\test\%username%.htm")
Else
fs.CreateFolder wshshell.ExpandEnvironmentStrings("D:\test")
fs.CopyFile wshshell.ExpandEnvironmentStrings("D:\%username%.htm"), wshshell.ExpandEnvironmentStrings("D:\test\%username%.htm")
End If
End If
Gruß
Norbert
Hallo retz12 und MrTrebron!
Eine etwas wartungsfreundlichere Variante - vielleicht geht's ja damit :
Grüße
bastla
Eine etwas wartungsfreundlichere Variante - vielleicht geht's ja damit :
' *** Initialze objects ***
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.filesystemobject")
SourceFile = WSHShell.ExpandEnvironmentStrings("D:\%username%.htm")
TargetFolder = "D:\test\"
' *** aktualisieren ***
If Right(TargetFolder, 1) <> "\" Then TargetFolder = TargetFolder & "\"
If fs.FileExists(SourceFile) Then
If Not fs.FolderExists(TargetFolder) Then fs.CreateFolder TargetFolder
fs.CopyFile SourceFile, TargetFolder
End If
bastla
Hallo retz12!
Vorweg: Für den genannten Pfad sollte die Zeile 6
lauten.
Nachvollziehbar wäre noch, wenn es den Ordner "Microsoft" nicht gäbe - dann würde tatsächlich der "Pfad nicht gefunden", allerdings müsste es den Fehler dann bereits beim erstmaligen (und jedem weiteren) Lauf des Scripts geben ...
Vorbeugen ließe sich dem etwa so:
Grüße
bastla
Vorweg: Für den genannten Pfad sollte die Zeile 6
TargetFolder = WSHShell.ExpandEnvironmentStrings("%appdata%\Microsoft\Signatures")
Nachvollziehbar wäre noch, wenn es den Ordner "Microsoft" nicht gäbe - dann würde tatsächlich der "Pfad nicht gefunden", allerdings müsste es den Fehler dann bereits beim erstmaligen (und jedem weiteren) Lauf des Scripts geben ...
Vorbeugen ließe sich dem etwa so:
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set fs = CreateObject("Scripting.filesystemobject")
PathParts = Split(WSHShell.ExpandEnvironmentStrings("%appdata%\Microsoft\Signatures"), "\")
TargetPath = PathParts(0) & "\"
For i = 1 To UBound(PathParts)
TargetPath = TargetPath & PathParts(i) & "\"
If Not fs.FolderExists(TargetPath) Then fs.CreateFolder TargetPath
Next
bastla