Schleife in VBS wird ignoriert
Hallo zusammen,
ich abe ein Problem mit folgendem VBS-Script - bin Neuling und wäre für Hilfe bei der Fehlersuche sehr dankbar.
Der 1. Kopy-Befehl soll nur ausgeführt werrden, wenn der Ordner im Quellpfad Daten enthält - ansonsten der ander Kopy-Befehl (der Ordner also leer ist). Ich bekomme keine Fehlermeldungen - die Schleife wird einfach nicht ausgefürt, in keiner von beiden Varianten. Hab schon seit 3 Tagen rumprobiert und sehe den Wald vor lauter Bäumen nimmer. :/
Hoffe sehr auf einen Helfer.
Grüße
Oliver
---
[Edit Biber] Codeformatierung und verschoben von "Visual Studio" nach "Batches from Hell" [/Edit]
ich abe ein Problem mit folgendem VBS-Script - bin Neuling und wäre für Hilfe bei der Fehlersuche sehr dankbar.
Der 1. Kopy-Befehl soll nur ausgeführt werrden, wenn der Ordner im Quellpfad Daten enthält - ansonsten der ander Kopy-Befehl (der Ordner also leer ist). Ich bekomme keine Fehlermeldungen - die Schleife wird einfach nicht ausgefürt, in keiner von beiden Varianten. Hab schon seit 3 Tagen rumprobiert und sehe den Wald vor lauter Bäumen nimmer. :/
Function Move (Quellpfad, Zielpfad)
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Quelle = FSO.GetFolder("C:\Beispielpfad\")
Set Ziel = FSO.GetFolder("C\Beispielergebnispfad\")
If FSO.GetFolder(Quelle).Files.Count > 0 Then
FSO.copyFile "G:\TEAM\BE\BE-B\Taegliches LG-Monitoring_Sued\System\Datenbasis\Temp\Umbenennen_Zwischenschritt\Tempspeicher\" & "\*.*", "G:\TEAM\BE\BE-B\Taegliches LG-Monitoring_Sued\System\Datenbasis\" & "\", true
else
FSO.copyFile "G:\TEAM\BE\BE-B\Taegliches LG-Monitoring_Sued\System\Datenbasis\Temp\Umbenennen_Zwischenschritt\" & "\*.*", "G:\TEAM\BE\BE-B\Taegliches LG-Monitoring_Sued\System\Datenbasis\" & "\", true
end if
End Function
Grüße
Oliver
---
[Edit Biber] Codeformatierung und verschoben von "Visual Studio" nach "Batches from Hell" [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 301066
Url: https://administrator.de/contentid/301066
Ausgedruckt am: 16.11.2024 um 01:11 Uhr
3 Kommentare
Neuester Kommentar
Moin olliMuc,
dann fang ich mal an, die Profis sind noch zu Tisch...
Unter der Annahme, dass du als VBS-Neuling auch Tipps hören willst:
a) Es ist IMHO für deinen Zweck ziemlich sinnfrei, eine Function namens Move() zu definieren, wenn sie doch nirgends aufgerufen wird.
Kommentiere einfach die Zeilen
BTW: eine Function sollte möglichst nicht heissen wie Syntaxelemente oder reservierte Worte der Programmiersprache.
b) Variablen definieren ist fein. Es sollte aber erkennbar sein, ob eine Variable ein String oder ein Object ist. Die Variablennamen
c) denn da
d) in Zeile 5 ist vermutlich auch ein Tippfehler:
jezz':
IMHO:
Erstmal als Anschub-Programmierhilfe.
Grüße
Biber
dann fang ich mal an, die Profis sind noch zu Tisch...
Unter der Annahme, dass du als VBS-Neuling auch Tipps hören willst:
a) Es ist IMHO für deinen Zweck ziemlich sinnfrei, eine Function namens Move() zu definieren, wenn sie doch nirgends aufgerufen wird.
Kommentiere einfach die Zeilen
Function ...
und End Function
aus. Oder lösch sie.BTW: eine Function sollte möglichst nicht heissen wie Syntaxelemente oder reservierte Worte der Programmiersprache.
Move()
ist nicht sinnvoll als Function-Name.b) Variablen definieren ist fein. Es sollte aber erkennbar sein, ob eine Variable ein String oder ein Object ist. Die Variablennamen
Quellpfad
und Zielpfad
in ihrer verwendeten Form führen fast zwangsläufig zu Programmierfehlern.c) denn da
Quelle
bereits ein Object ist und eigentlich oFolderQuelle
heissen sollte, müsste in Zeile 08 stehen:If oFolderQuelle.Files.Count > 0 Then
d) in Zeile 5 ist vermutlich auch ein Tippfehler:
jezz':
Set Ziel = FSO.GetFolder("C\Beispielergebnispfad\")
IMHO:
Set oFolderZiel = FSO.GetFolder("C:\Beispielergebnispfad\")
Erstmal als Anschub-Programmierhilfe.
Grüße
Biber
Hi,
ich sehe da mehrere Fehler
E.
ich sehe da mehrere Fehler
Set Ziel = FSO.GetFolder("C\Beispielergebnispfad\")
":" fehltIf FSO.GetFolder(Quelle).Files.Count > 0 Then
If Quelle.Files.Count > 0 Then FSO.copyFile "G:\TEAM\BE\BE-B\Taegliches LG-Monitoring_Sued\System\Datenbasis\Temp\Umbenennen_Zwischenschritt\Tempspeicher\" & "\*.*", "G:\TEAM\BE\BE-B\Taegliches LG-Monitoring_Sued\System\Datenbasis\" & "\", true
"...eicher\" & "\*.*" ---> ergibt "....eicher\\*.*" --> Doppel "\" FSO.copyFile "G:\TEAM\BE\BE-B\Taegliches LG-Monitoring_Sued\System\Datenbasis\Temp\Umbenennen_Zwischenschritt\" & "\*.*", "G:\TEAM\BE\BE-B\Taegliches LG-Monitoring_Sued\System\Datenbasis\" & "\", true
Wieder Doppel "\"E.