VBS Dateien kopieren welche älter sind als xx und beginnen mit xx
Hallo Leute
ich bin neu hier und habe bereits eine Frage (hoffe doch das Ihr mir das nicht übel nehmt). Nach langer Suche im Forum und im Internet (leider nichts gefunden) poste ich hier meine Frage. Ich bin was VBS betrifft ein absoluter Anfänger daher bitte ich um Rücksicht sollte meine Frage zu lächerlich sein.
Also ich habe per Vorlage ein Script erstellt welches mir alle Dateien in einem Ordner die älter sind als xx Tage in einen anderen Ordner verschiebt (funktioniert sogar
). Nun möchte ich zusätzlich die Funktion einbaue das nur Dateien verschoben werden welche mit einer bestimmten Zeichenfolge beginnen (z.B. 4052test*.*). Ergo es werden Dateien verschoben welche älter sind als xx Tage und beginnen mit 4052test*.*
Ich wäre dankbar wenn mir jemand weiterhelfen kann. Anbei noch das Script welches erweitert werden soll:
Script:
gruss Staga
[Edit Biber] Codeformatiert [/Edit]
ich bin neu hier und habe bereits eine Frage (hoffe doch das Ihr mir das nicht übel nehmt). Nach langer Suche im Forum und im Internet (leider nichts gefunden) poste ich hier meine Frage. Ich bin was VBS betrifft ein absoluter Anfänger daher bitte ich um Rücksicht sollte meine Frage zu lächerlich sein.
Also ich habe per Vorlage ein Script erstellt welches mir alle Dateien in einem Ordner die älter sind als xx Tage in einen anderen Ordner verschiebt (funktioniert sogar
Ich wäre dankbar wenn mir jemand weiterhelfen kann. Anbei noch das Script welches erweitert werden soll:
Script:
Dim fso, files, file, datei
datei=date-2
Set fso = CreateObject ("scripting.FileSystemObject")
set files = fso.getFolder("C:\Temp\test1").files
For Each file In files
if file.datelastmodified < datei Then
fso.MoveFile file, "C:\Temp\test2\"
End If
next
[Edit Biber] Codeformatiert [/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 177666
Url: https://administrator.de/forum/vbs-dateien-kopieren-welche-aelter-sind-als-xx-und-beginnen-mit-xx-177666.html
Ausgedruckt am: 23.04.2025 um 14:04 Uhr
9 Kommentare
Neuester Kommentar
Hallo staga75 und willkommen im Forum!
Zwei Tipps vorweg:
Das Ergebnis könnte dann so aussehen:
Wartbarer wird's noch, wenn Du den Suchstring (und dessen Länge) sowie die Ordner vorweg festlegst:
Zu beachten wäre, dass Groß-/Kleinschreibung im Suchstring berücksichtigt werden - dem ließe sich so:
und
beikommen - Alternative: Verwendung von "
Grüße
bastla
Zwei Tipps vorweg:
- Der Variablennamen "datei" ist als Bezeichnung für einen Datumswert eher irreführend (besser wäre etwa "Vergleichsdatum").
- Wenn Du Deinen Code etwas formatierst (damit ist nicht nur die forumseigene ), sondern vor allem die Verwendung von Einrückungen gemeint, ist er (auch für Dich) besser lesbar.
Das Ergebnis könnte dann so aussehen:
Option Explicit
Dim fso, files, file, Vergleichsdatum
Vergleichsdatum = Date - 2
Set fso = CreateObject ("scripting.FileSystemObject")
Set files = fso.GetFolder("C:\Temp\test1").Files
For Each file In files
If file.datelastmodified < datei Then
If Left(file.Name, 8) = "4052test" Then
fso.MoveFile file, "C:\Temp\test2\"
End If
End If
Next
Option Explicit
Dim fso, files, file, Vergleichsdatum, Quelle, Suchstring, Ziel, SL
Quelle = "C:\Temp\test1"
Suchstring = "4052test"
Ziel = "C:\Temp\test2\"
Vergleichsdatum = Date - 2
SL = Len(Suchstring)
Set fso = CreateObject ("scripting.FileSystemObject")
Set files = fso.GetFolder(Quelle).Files
For Each file In files
If file.datelastmodified < datei Then
If Left(file.Name, SL) = Suchstring Then
fso.MoveFile file, Ziel
End If
End If
Next
Suchstring = LCase("4052test")
If LCase(Left(file.Name, SL)) = Suchstring Then
StrComp()
"Grüße
bastla
Moin staga75,
ich will mich ja nicht einmengen, aber....
Ööööhm......
Aus aktuellem Anlass:
Lass dir nicht auf irgendwelchen Weihnachtsmärkten von Fremden irgendwelche Umsonst-Glühweine aufdrängen.
Die können unerwartet krasse Nebenwirkungen haben.
Grüße
Biber
ich will mich ja nicht einmengen, aber....
Zitat von @staga75:
Nachdem die Dateien ins Test2 Verzeichnis kopiert wurden würde ich gerne alle Dateien welche mit dem Namen 4052test* beginnen
und die Endung .xml haben ins Verzeichnis Test3 kopieren.
Mit dem Befehl:
If left(file.Name, 6) = "1033603*.xml* Then
fso.CopyFile file, "C:\Temp\test3\"
funktioniert das nicht.
Nachdem die Dateien ins Test2 Verzeichnis kopiert wurden würde ich gerne alle Dateien welche mit dem Namen 4052test* beginnen
und die Endung .xml haben ins Verzeichnis Test3 kopieren.
Mit dem Befehl:
If left(file.Name, 6) = "1033603*.xml* Then
fso.CopyFile file, "C:\Temp\test3\"
funktioniert das nicht.
Ööööhm......
Aus aktuellem Anlass:
Lass dir nicht auf irgendwelchen Weihnachtsmärkten von Fremden irgendwelche Umsonst-Glühweine aufdrängen.
Die können unerwartet krasse Nebenwirkungen haben.
Grüße
Biber