VB Script - Ordner verschieben mit Überschreiben ?
Hallo zusammen,
ich habe ein bestehendes Script, vor einiger Zeit zusammengebastelt:
Eigentlich banal, es soll alle Ordner die älter als 7 Tage sind in einen anderen Ordner verschieben. Klappt auch wunderbar AUSSER der Ordner ist im Zielordner bereits vorhanden.
Am einfachsten wäre es, wenn der Ordner bereits vorhanden ist, dass er überschrieben wird. Das ist aber mit dem "move" Befehl nicht möglich. Eine Möglichkeit die ich gesehen habe wäre zu prüfen ob der Ordner schon existiert und ihn zu löschen bevor man den move macht. Es könnte aber nun so sein, dass im neu erstellten Ordner nur eine Datei liegt, im alten Ordner aber mehrere Dateien sind. Die möchte ich nicht verlieren also es sollte schon zusammengeführt werden.
Kann mir hier jemand kurzfristig aushelfen ? Ich habs nicht so mit Scripten und wenn ich mir das langwierig zusammen suche, muss ich einstweilen immer prüfen ob das Script gelaufen ist oder wieder ein Ordnername doppelt vorkommt.
Danke !
lG
Roland
ich habe ein bestehendes Script, vor einiger Zeit zusammengebastelt:
Dim filesys, source, subfolder
Set filesys = CreateObject("Scripting.FileSystemObject")
Set source = filesys.GetFolder("E:\XShare\ExportRoot\HiRes\")
for each subfolder in source.subfolders
if now-subfolder.DateCreated>=7 then
subfolder.move("E:\XShare\ExportRoot\HiRes-OLD\")
end if
next
Eigentlich banal, es soll alle Ordner die älter als 7 Tage sind in einen anderen Ordner verschieben. Klappt auch wunderbar AUSSER der Ordner ist im Zielordner bereits vorhanden.
Am einfachsten wäre es, wenn der Ordner bereits vorhanden ist, dass er überschrieben wird. Das ist aber mit dem "move" Befehl nicht möglich. Eine Möglichkeit die ich gesehen habe wäre zu prüfen ob der Ordner schon existiert und ihn zu löschen bevor man den move macht. Es könnte aber nun so sein, dass im neu erstellten Ordner nur eine Datei liegt, im alten Ordner aber mehrere Dateien sind. Die möchte ich nicht verlieren also es sollte schon zusammengeführt werden.
Kann mir hier jemand kurzfristig aushelfen ? Ich habs nicht so mit Scripten und wenn ich mir das langwierig zusammen suche, muss ich einstweilen immer prüfen ob das Script gelaufen ist oder wieder ein Ordnername doppelt vorkommt.
Danke !
lG
Roland
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 44166694805
Url: https://administrator.de/contentid/44166694805
Ausgedruckt am: 23.11.2024 um 22:11 Uhr
4 Kommentare
Neuester Kommentar
Ist doch n simples Backup ... Warum nimmt man nicht gleich sein meist sowieso vorhandenes Backup-Programm dafür?!
Oder halt die Powershell...
Oder robocopy mit Parameter /minage
und und und und .... 1 Mio Möglichkeiten
Gruß sid
Oder halt die Powershell...
$quelle = "E:\XShare\ExportRoot\HiRes"
$ziel = "E:\XShare\ExportRoot\HiRes-OLD"
$date = (Get-Date).AddDays(-7)
foreach($folder in Get-ChildItem $quelle -Directory | ? CreationTime -lt $date){
try{
copy-item $folder.Fullname -Destination $ziel -Recurse -Force -EA Stop
(Get-Item "$ziel\$($folder.Name)").CreationTime = $folder.CreationTime
remove-item $folder.Fullname -Recurse -Force -EA Stop
}catch{
write-host $_.Exception.Message -F Red
}
}
Oder robocopy mit Parameter /minage
und und und und .... 1 Mio Möglichkeiten
Gruß sid
o. ergänzt.