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, 7762 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ä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
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...