Top-Themen

Aktuelle Themen (A bis Z)

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 Mehrere Verzeichnisse in einen Script angeben

Mitglied: Knuefi

Knuefi (Level 1) - Jetzt verbinden

02.01.2016, aktualisiert 17.01.2016, 1756 Aufrufe, 17 Kommentare, 1 Danke

Hallo zusammen, ich brauche eure Hilfe.
Ich habe unten stehendes Script zum löschen ältere Dateien in einen Unterordner. Nun möchte ich das Skript über mehre Unterordner bzw. mehre Verzeichnisse laufen lassen. Wie bekomme ich mehre Verzeichnisse in diesen Script?
Oder ist es möglich in einen Ordner mit mehren Verknüfungen zu den Verzeichnisse zu verwenden?, So gebe ich nur ein Verzeichnis im Script an, gelöscht werden aber in den Verknüfungen befindliche Unterordner.

Verzeichnis = "\\test.com\Homedir\Max\Arbeitsauftrag"
Aufheben = 10
Set fso = CreateObject("Scripting.FileSystemObject")
Set ordner = fso.GetFolder(Verzeichnis)
heute = Date()
DeleteInFolder(ordner)

Sub DeleteInFolder(ordner)
Set dateien = ordner.Files
' Alle Dateien in diesem Ordner abklappern
For Each datei In dateien
If datei.DateLastModified < (heute - Aufheben) Then
datei.Delete
End If
Next
Set untere = ordner.SubFolders
'Unterordner abklappern, DeleteInFolder rekursiv aufrufen
For Each unter In untere
DeleteInFolder(unter)
Next
End Sub
Mitglied: 114757
02.01.2016, aktualisiert um 14:50 Uhr
Moin,
bitte Suchfunktion nutzen, wurde hier schon öfters abgehandelt
https://www.administrator.de/forum/datei-festplatte-vba-suchen-l%C3%B6sc ...
https://www.administrator.de/forum/skript-suche-ordner-unterordner-22325 ...
usw...
Gruß jodel32
Bitte warten ..
Mitglied: Knuefi
02.01.2016, aktualisiert um 15:14 Uhr
Hallo jodel32,
danke für deine sehr schnelle Antwort. Wenn ich das Script richtig lese, ist das eine Variante mit Verzeichnis und dort befindliche Unterordner. Läuft das auch im Verzeichnis befindliche Verknüfungen?
Ich würde dann einen Ordner anlegen, dort lege ich die Verknüfungen rein. Werden dann auch die Dateien im Unterordner der Verknüfungen gelöscht?
Bitte warten ..
Mitglied: 114757
02.01.2016, aktualisiert um 15:39 Uhr
Das Skript löscht alle Verknüpfungen älter als 10 Tage in einem Verzeichnis und berücksichtigt selbstverständlich auch alle Verknüpfungen in allen Unterordnern Rekursiv...
Bitte warten ..
Mitglied: Knuefi
02.01.2016 um 15:46 Uhr
Löscht die Verknüpfungen die älter als 10 Tage sind?, dass sollte nicht so sein.
Es sollen die Dateien in den Verknüpfungen gelöscht werden, die Verknüfungen sollen erhalten bleiben.
Bitte warten ..
Mitglied: 114757
LÖSUNG 02.01.2016, aktualisiert 03.01.2016
Sag schreib das doch gleich so in deinen Beitrag oder kommt jetzt noch mehr unbekanntes ans Tageslicht ? ... dann ist die Verknüpfung aber auch tot
Dass hier macht das beschriebene. Ich gehe hier davon aus das deine Verknüpfungen, Verknüpfungen zu Dateien sind...
Bitte warten ..
Mitglied: Knuefi
02.01.2016 um 23:52 Uhr
Da bin ich wieder, ich konnte mich leider keine frühere Rückmeldung geben.
Leider funktioniert das Script nicht, es kommt auch keine Fehlermeldung. Hast du eine Idee?
Bitte warten ..
Mitglied: 114757
02.01.2016, aktualisiert um 23:59 Uhr
Geht hier wie immer einwandfrei, wurde ja getestet ...
Du nutzt aber schon simple *.lnk Files oder arbeitest du hier mit Softlinks oder Junctions ?
Bitte warten ..
Mitglied: Knuefi
03.01.2016 um 14:43 Uhr
Hallo Jodel32,

Ich habe auf mein Desktop einen Ordner (Name neuer Ordner) erstellt, dort habe ich die Verknüfungen (mit der Endung .ink) gepackt. Die Verknüfungen haben unterschiedliche Ziele, hier zwei Beispiele:\\test.com\bbb\Homedir\Carsten\Arbeitsauftrag und \\test.com\bbb\Homedir\Stefan\Arbeitsauftrag. In den Ordnern Arbeitsaufträge befinden sich Dateien die älter als 10 Tage sind, diese werden aber leider nicht gelöscht. Das soll aber Ziel des Skript sein. Kann es sein, dass das Skript nur in das erste Unterverzeichnis geht?
Hier das angepasste Skript:
DEINORDNER = "D:\Users\Maxmustermann\Desktop\Neuer Ordner"
SUCHE_IN_UNTERORDNERN = True
olddate = DateAdd("d", -10, Date)
set objFS = CreateObject("Scripting.FilesystemObject")
Set objShell = CreateObject("Wscript.Shell")

parseFolders objFS.GetFolder(DEINORDNER),SUCHE_IN_UNTERORDNERN

Function parseFolders(strFldr,boolRecursion)
for each myFile in strFldr.Files
' Wenn Datei ein Link ist ...
If LCase(objFS.GetExtensionName(myFile.Name)) = "lnk" then
' Zielpfad des Links auslesen
target = objShell.CreateShortcut(myFile.Path).TargetPath
' Wenn Zieldatei existiert ...
If objFS.FileExists(target) Then
' und Änderungs-Datum älter als X Tage ist lösche Datei
If objFS.GetFile(target).DateLastModified < olddate Then
objFS.DeleteFile target,True
End If
End If
End If
Next
'Für jeden Unterordner, rufe die Funktion rekursiv erneut auf.
If boolRecursion Then
For Each subFolder in strFldr.SubFolders
parseFolders subFolder, True
Next
End If
End Function
Bitte warten ..
Mitglied: 114757
03.01.2016, aktualisiert um 16:52 Uhr
Mal wieder typisches Beispiel von blindem kopieren, hättest du meinen Post mit dem Code vollständig gelesen hättest du dort rauslesen können das dieses nur Verknüpfungen zu Dateien und nicht zu Ordnern unterstützt.

Kann es sein, dass das Skript nur in das erste Unterverzeichnis geht?
Nein, der Ordner in dem die Verknüpfungen liegen werden rekursiv nach Verknüpfungen untersucht.

Für Ordner muss man es natürlich noch anpassen. Aber das mach ich erst wenn du jetzt endlich mal mit allen Details deines Vorhabens rausrückst damit hier nicht immer wieder neue Details ans Licht kommen die ich mit meiner Glaskugel nicht kenne, Monsieur !! Also bitte. Danke.


Bitte warten ..
Mitglied: Knuefi
03.01.2016 um 15:39 Uhr
das ist das was gewünscht ist:

Es gibt einen Ordner auf den Desktop (Name: neuer Ordner), dort befinden sich ca. 45 Verknüpfungen (.ink) mit einer Zieladressen. Hier zwei Beispiele von den Pfaden der Verknüpfungen: \\test.com\bbb\Homedir\Carsten\Arbeitsauftrag und \\test.com\bbb\Homedir\Stefan\Arbeitsauftrag. In den Zielordnern Arbeitsauftrag befinden sich Dateien, die gelöscht werden sollen, und zwar die, die älter wie 10 Tage sind.
Ich hoffe, ich habe es jetzt besser beschrieben.
Bitte warten ..
Mitglied: 114757
03.01.2016, aktualisiert um 16:56 Uhr
s. Skript im letzten Post. Es wird das LastModifiedDate herangezogen, wenn du stattdessen das DateCreated Datum für die Auswertung heranziehen willst ändere das in Zeile 29
geht einwandfrei.
Bitte warten ..
Mitglied: Knuefi
03.01.2016 um 19:07 Uhr
Danke für deine Geduld und deine Hilfe, es läuft Perfekt.
DANKE!!!!!
Bitte warten ..
Mitglied: Knuefi
04.01.2016 um 21:24 Uhr
Hallo Jodel32,

kannst du mir bitte nochmals weiterhelfen?. Ist es möglich eine Meldung über den Start, Ende und eventuell Fortschritt des Script anzuzeigen zu lassen. Die Möglichkeit über regedit und HideStartupScripts besteht leider nicht, es fehlen die Admin Rechte.

Gruß
Bitte warten ..
Mitglied: 114757
05.01.2016 um 00:22 Uhr
Schon mal was von MsgBox gehört ?!
Hirn einschalten ....
Bitte warten ..
Mitglied: Knuefi
16.01.2016 um 22:54 Uhr
Hallo zusammen,

kann ich bei den Script auch Dateien vor den löschen schützen?. Ich würde gerne im Dateinamen ein Wort (Schutz) zusätzlich schreiben (zB. Einladung zur Geburtagsfeierschutz.doc) und diese Datei würde verschont bleiben.
Zudem würde ich gerne spezifischer bzw. Ziel genauer löschen. Nach der Verknüpfung folgen zwei Unterordner (Mitteilung und Sonstiges), hier würde ich gerne nur die Dateien löschen, die sich in den Unterordner Mitteilung befinden.
Gruß
knefi
Bitte warten ..
Mitglied: 114757
LÖSUNG 16.01.2016, aktualisiert 17.01.2016
Einfach die IF-Bedingung im Skript Zeile 29 so ändern:
Wie wär's ab und zu mal mit lesen...
http://www.w3schools.com/asp/vbscript_default.asp
Bitte warten ..
Mitglied: Biber
17.01.2016 um 11:11 Uhr
[OT]
Moin Knuefi,

ich habe mir jetzt doch mal diesen Beitrag und auch die anderen Beiträge angeschaut.
Dabei sind mir positive Punkte und einige andere mit Verbesserungspotential aufgefallen,

Deshalb möchte ich hier mal einschreiten als Moderator.

Positiv werte ich:
- du gibst Feedback, beantwortest Rückfragen, setzt auch die Beiträge auf "Gelöst", wenn eine Lösung erarbeitet wurde.

Ein bisschen Luft nach oben sehe ich dagegen bei diesen Punkten:
- die anfängliche Problembeschreibung müssen in jedem deiner Beiträge erst durch mehrfache Rückfragen von Hilfswilligen geklärt werden
- in jedem Beitrag tröpfeln so nach und nach immer weitere Zusatzanforderungen und neue Randbedingungen nach, so dass Titel und Inhalt des Beitrags sehr auseinanderlaufen
- du verwendest nie Codeformatierung beim Posten von Codeschnipseln.

Du hast in einem anderen Beitrag sinngemäß geschrieben "Ein Forum ist immer so gut wie seine Mitglieder.".
Das gilt aber nicht nur für die Antwortenden, sondern auch für die Fragesteller.

Bitte versuche in künftigen Fragen eine vollständige und klare Formulierung in der Problembeschreibung und bleibe dann auch beim ursprünglich angegebenen Thema.
Und verwende zur Lesbarkeit von Codeschipseln auch Codeformatierung.

Diese Frage hier -die du ja auch schon auf "Gelöst" gesetzt hast - schliesse ich jetzt.

Grüße
Biber
[/OT]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Verzeichniss überwachen Datei kopieren und umbenennen

gelöst Frage von fischle63Batch & Shell6 Kommentare

Hallo, Habe folgendes Problem: In einem Verzeichniss sind Dateien mit dem Suffix ".nd" enthalten. Bsp. "00000010.nd" Ich brauche eine ...

PHP

Nach serverumzug läuft ein Bilderupload script nicht mehr

Frage von jensgebkenPHP13 Kommentare

Hallo Gemeinschaft, nach einem Serverumzug zu 1und1 läuft ein Script nicht mehr Ich muss diese Extension installieren bei 1und1 ...

Microsoft Office

Per VBA im Verzeichniss dateien mit Wildcard umbenennen

gelöst Frage von usenussiMicrosoft Office4 Kommentare

Ich habe mit Access 2010 eine Datenbank erstellt die aus Amazon Daten mit einigen Abfragen zur Übergabe eine Liste ...

Windows Netzwerk

Netzlaufwerk Windows 10 geht trotz batch-script nach herunterfahren nicht mehr

gelöst Frage von coltseaversWindows Netzwerk4 Kommentare

Hallo zusammen, ich habe bei einem Windows 10 -PC im Netzwerk das Problem, dass das Netzlaufwerk (ebenfalls auf einem ...

Neue Wissensbeiträge
Informationsdienste

RKI - Corona-Datenspende App zur Erfassung von Informationen und Ausbreitung des Coronavirus (SARS-CoV-2) in Deutschland

Information von Frank vor 17 StundenInformationsdienste1 Kommentar

Das Robert Koch-Institut stellt ab sofort eine App zur Verfügung, die ergänzende Informationen dazu liefern soll, wo und wie ...

Sicherheit

Gefährliche Sicherheitslücken im HP Support Assistant sind immer noch offen

Information von transocean vor 17 StundenSicherheit

Moin, es wird empfohlen, den HP Support Assistenten aus Sicherheitsgründen zu deinstallieren. Lest selbst Gruß Uwe

Webbrowser
Microsofts neuer Edge Browser kommt gut an
Information von Frank vor 17 StundenWebbrowser8 Kommentare

Laut dem Statistikdienst Netmarketshare liegt der Marktanteil von Microsofts neuen Browser Edge (7.59%) im März 2020 erstmals vor Firefox ...

Microsoft

Support of DANE and DNSSEC in Office 365 Exchange Online

Information von Dani vor 1 TagMicrosoft1 Kommentar

Guten Abend zusammen, Microsoft is committed to providing world-class email security solutions and the support for the latest Internet ...

Heiß diskutierte Inhalte
Schulung & Training
IT-Bedarf ermitteln
Frage von malikaSchulung & Training47 Kommentare

Hallo zusammen, ich würde gerne Eure Kritik oder Ratschläge zum Ermitteln des IT-Bedarfs für ein Steuerbüro (2 Steuerberater, 1 ...

Schulung & Training
Admin Hygiene an APs (Zur Zeiten von Corona.)
gelöst Frage von NebellichtSchulung & Training22 Kommentare

Hallo Admins, ich stelle mir gerade die Frage(n), wie ich als Admin mich vor Viren und Bakterien schützen kann ...

Server-Hardware
Fujitsu RX300 S7-Server Festplattenadapter 3,5" auf 2,5"
gelöst Frage von reksierpServer-Hardware15 Kommentare

Moin, in unseren o.a. Server möchten wir 2,5"-SSDs verwenden. Die lassen sich in den vorhandenen 3,5"-Einschüben nur mit Klebeband ...

Netzwerke
Frage zu VoIP-VLAN und
gelöst Frage von darkness08Netzwerke15 Kommentare

Hallo, in einem anderen Beitrag hatte ich gefragt, wie ich UDP bzw. RTP in ein anderes VLAN Route. Dazu ...