Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBS Dateien kopieren, verschieben und löschen

Frage Entwicklung VB for Applications

Mitglied: staga75

staga75 (Level 1) - Jetzt verbinden

20.12.2011 um 10:06 Uhr, 7863 Aufrufe, 6 Kommentare

Hi Leute

ich habe hier ein Script welches ich mit Hilfe dieses Forums erstellt habe.

01.
Dim fso, files, file, datei, Suchstring, SL 
02.
Suchstring="103360" 
03.
datei=date-2 
04.
SL = Len(Suchstring) 
05.
Set fso = CreateObject ("scripting.FileSystemObject") 
06.
set files = fso.getFolder("C:\Temp\test1").files 
07.
For Each file In files 
08.
if file.datelastmodified < datei Then 
09.
If Left(file.Name, 6) = "103360" Then 
10.
fso.CopyFile file, "C:\Temp\test2\" 
11.
End If 
12.
End If 
13.
next 
14.
Dim fso, files, file, datei, Suchstring, SL 
15.
Suchstring="103360" 
16.
datei=date-2 
17.
SL = Len(Suchstring) 
18.
Set fso = CreateObject ("scripting.FileSystemObject") 
19.
set files = fso.getFolder("C:\Temp\test2").files 
20.
For Each file In files 
21.
if file.datelastmodified < datei Then 
22.
If Left(file.Name, 6) = "103360" And fso.GetExtensionName(file.name) = "XML" Then 
23.
fso.CopyFile file, "C:\Temp\test3\" 
24.
End If 
25.
End If 
26.
next
Ich möchte nun gerne folgende Funktionen einbauen:

1. Anstatt die XML zu kopieren möchte ich diese gerne VERSCHIEBEN.
- Habe also anstatt fso.CopyFilemit einfach fso.MoveFile "C:\Temp\test2\*.*", "C:\Temp\test3\" in der Zeile 23 eingesetzt
Leider verschiebt er alle Dateien. Jedoch sollte es nur Dateien welche xx älter, denn Namen 103360 und die Endung XML haben verschieben.

2. Danach möchte ich im Ordner C:\Temp\test3 alle Dateien löschen welche xx älter, den Namen 103360 und die Endung XML haben
- Hier habe ich keine Schimmer wie ich das anstellen soll. Habe nur geschafft den ganzen Inhalt zu löschen.

Ich währe sehr dankbar wenn mir jemand weiterhelfen kann da ich ein absoluter Anfänger bin was VBS und Programierung bzw. Scripting angeht.

Gruss Staga
Mitglied: 60730
20.12.2011 um 10:41 Uhr
Moin,

ich habe hier ein Script welches ich mit Hilfe dieses Forums erstellt habe.
ich währe sehr dankbar wenn mir jemand weiterhelfen kann da ich ein absoluter Anfänger bin was VBS und Programierung bzw. Scripting angeht.

Nun dann...

Was genau macht denn das Script?
Es sind übrigens zwei Sachen, die das Script macht.

Das ist ja relativ einfach und wenn du es schaffst uns die Befehlsfolgen zu erklären, kommst du bei der Gelegenheit von alleine drauf und das sollte das Ziel sein.
Sonst bist du bei der nächsten Änderung wieder der Ochs vorm Berg und genau das wollen wir hier keinem antun.

Gruß
Bitte warten ..
Mitglied: staga75
20.12.2011 um 10:50 Uhr
Hallo

Ja ich verstehe schon was du meinst. Ich habe es ja versucht (siehe Beitrag wo steht Zeile 23. Jedoch ist mir nicht klar wieso die vorhergehenden Argument Zeile 15 -22 beim verschieben oder löschen nicht berücksichtigt werden.

Gruss
Staga
Bitte warten ..
Mitglied: 60730
20.12.2011 um 10:53 Uhr
nein...

du hast zwei Schleifen innerhalb dieser wird etwas überprüft und Zeile 20 sagt dir doch.....

Und wenn du innerhalb dieser Abfrageschleife mit Platzhaltern werkelst - dann muß das in die Grütze hauen.
Bitte warten ..
Mitglied: 76109
20.12.2011 um 11:05 Uhr
Hallo staga75!

Bei der Gelegenheit könntest Du auch die Zeile 10 nochmal anschauen oder etwas vereinfachen mit
file.Move "C:\Temp\test3\"
beim verschieben und mit
file.Copy "C:\Temp\test3\"
beim kopieren

Und damit es auch mit der Dateierweiterung in Kleinbuchstaben funktioniert (*.xml und *.XML):
If Left(file.Name, 6) = "103360" And LCase(fso.GetExtensionName(file.Name)) = "xml" Then

Gruß Dieter
Bitte warten ..
Mitglied: staga75
20.12.2011 um 11:44 Uhr
Hallo zusammen

Danke für die Hinweise. Ich habe nun mein Script angepasst und bis auf das löschen funktioniert das ganze. Vielleicht habt Ihr nochmals einen Tipp für mich.
01.
Dim fso, files, file, datei, Suchstring, SL 
02.
Suchstring="103360" 
03.
datei=date-2 
04.
SL = Len(Suchstring) 
05.
Set fso = CreateObject ("scripting.FileSystemObject") 
06.
set files = fso.getFolder("C:\Temp\test").files 
07.
For Each file In files 
08.
if file.datelastmodified < datei Then 
09.
If Left(file.Name, 6) = "103360" Then 
10.
fso.CopyFile file, "C:\Temp\test1\" 
11.
End If 
12.
End If 
13.
next 
14.
Suchstring="103360" 
15.
datei=date-2 
16.
SL = Len(Suchstring) 
17.
Set fso = CreateObject ("scripting.FileSystemObject") 
18.
set files = fso.getFolder("C:\Temp\test1").files 
19.
For Each file In files 
20.
if file.datelastmodified < datei Then 
21.
If Left(file.Name, 6) = "103360" And fso.GetExtensionName(file.name) = "XML" Then 
22.
fso.MoveFile file, "C:\Temp\test2\" 
23.
End If 
24.
End If 
25.
next 
26.
Suchstring="103360" 
27.
datei=date-2 
28.
SL = Len(Suchstring) 
29.
Set fso = CreateObject ("scripting.FileSystemObject") 
30.
set files = fso.getFolder("C:\Temp\test").files 
31.
For Each file In files 
32.
if file.datelastmodified < datei Then 
33.
If Left(file.Name, 6) = "103360" And fso.GetExtensionName(file.name) = "XML" Then 
34.
fso.DeleteFile, file "C:\Temp\test\" 
35.
End If 
36.
End If 
37.
next
Bei der Ausführung kommt die eine Fehlermeldung Error Type Mismatch: 'DeleteFiles'
Bitte warten ..
Mitglied: staga75
20.12.2011 um 12:11 Uhr
Ok habe es selbst gefunden. Ich habe den Pfad in der Zeile 34 gelöscht.

Danke nochmals für eure Unterstützung.

gruss
Staga
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Windows Server
gelöst Administrator kann auf Server keine EXE-Dateien kopieren, löschen, anlegen (5)

Frage von Winfried-HH zum Thema Windows Server ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
Dateien kopieren die nicht mehr verändert werden? (10)

Frage von pbelcl zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...