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 IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Bild- und Videodateien per Batch nach Namen und Attributen ins richtige Verzeichnis verschieben oder löschen

Mitglied: tomreis

tomreis (Level 1) - Jetzt verbinden

31.03.2020 um 01:42 Uhr, 394 Aufrufe, 14 Kommentare

Hallo an alle,

ich habe folgende Aufgabe zu lösen:

Es gibt ein Quellverzeichnis "D:\Ablage" wo zahlreiche Bild- & Videodateien mit dem Format: '2018-05-25 13.38.36.*' (*=jpg o. avi o. mpg usw.) abgelegt sind.

Weiterhin gibt es ein Zielverzeichnis "Z:\Foto" mit folgender Verzeichnisstruktur

• 2018
• 01
• 02
• 03
• 04
usw. bis 12

• 2019
• 01
• 02
• 03
• 04
usw. bis 12

also für jedes Jahr.

Nun möchte ich die Dateien aus der Quelle passen zum beginnenden Dateiname "z.B. 2018-05" in das jeweils richtige Monatsverzeichnis des dazugehörigen Jahres VERSCHIEBEN !

Dabei soll geprüft werden, ob die Datei ev. schon vorhanden ist. Ist am Ziel bereits eine passende Datei vorhanden, soll diese, wenn Sie kleiner ist als die Quelldatei, überschrieben werden.
Ist sie gleich oder größer als die Quelldatei soll die Quelldatei nicht verschoben werden, sondern in der Quelle gelöscht werden.

Ziel ist es also das Quellverzeichnis zu leeren und die Quelldateien auf die jeweiligen Jahresverzeichnisse des Zieles, monatsconform, zu verteilen.
Dabei sollen aber nur bereits kleinere vorhandene Dateien überschrieben werden. Ev. größere vorhandene Dateien sollen bestehen bleiben.

Ein Highlight wäre natürlich, wenn der Batch prüft ob es im Zielverzeichnis bereits das passende Jahresverzeichnis und darin das passende Monatsunterverzeichnis vorhanden ist und wenn nicht, es einfach anlegt das muss aber nicht sein

Ich hoffe ich habe mein Vorhaben bestmöglich verdeutlicht und wäre für Hilfen sehr dankbar !!!

Grüße und Dank Tom
Mitglied: 143127
31.03.2020, aktualisiert um 10:14 Uhr
Würde ich zwar gleich mit nem Powershell Einzeiler abfackeln aber wenn du es unbedingt kryptisch magst
Bitte warten ..
Mitglied: tomreis
31.03.2020 um 09:44 Uhr
Du bist mein Traum !!!!!! Vielen lieben Dank - abschließend - wie würde denn der Powershell Einzeiler aussehen ??? LG Tom
Bitte warten ..
Mitglied: tomreis
31.03.2020 um 09:59 Uhr
Hey vibrations, ich habe bei Deinem Batch gerade festgestellt, dass die Größenprüfung nicht funktioniert oder nicht vorhanden ist. Heist: wenn in der Quelle eine Datei 1.jpg (mit 150 kb) ist und die gleiche Datei bereits mit identischem Namen am Ziel existiert, dort aber (300kb hat) wird die größere Datei am Ziel trotzdem überschrieben. Das ist ungewollt Gibt es dafür noch eine Lösung ? LG Tom
Bitte warten ..
Mitglied: 143127
31.03.2020, aktualisiert um 10:16 Uhr
dass die Größenprüfung nicht funktioniert oder nicht vorhanden ist.
Hat je keiner gefordert .... s. Code oben.
Bitte warten ..
Mitglied: tomreis
31.03.2020 um 10:18 Uhr
sorry hatte ich geschrieben:

"Dabei sollen aber nur bereits kleinere vorhandene Dateien überschrieben werden. Ev. größere vorhandene Dateien sollen bestehen bleiben."

Hätte ich vielleicht etwas mehr kennzeichnen müssen
Bitte warten ..
Mitglied: 143127
31.03.2020, aktualisiert um 10:59 Uhr
wie würde denn der Powershell Einzeiler aussehen ??? LG Tom
edit - Für die Größenunterscheidung dann
Bitte warten ..
Mitglied: tomreis
31.03.2020 um 11:21 Uhr
vielen lieben Dank für Deine Mühen !!! ich benutzte jetzt zu Testzwecken folgende Variante:

Wenn das Zielverzeichnis nicht vorhanden ist, funktioniert das ganze einwandfrei. Zielverzeichnisse werden angelegt und Dateien verschoben. Quellordner ist danach leer.

Haben wir aber schon im Ziel die passende Verzeichnisstruktur und im Monat 05 z.B. schon zwei Dateien (eine gross eine klein) werden die beiden gleichnamigen Dateien im Quellverzeichniss werder kopiert, verschoben oder gelöscht. Das Script läuft aber ohne Fehlermeldung - alles bleibt wie es ist ???
Bitte warten ..
Mitglied: TK1987
31.03.2020 um 16:45 Uhr
Moin,

Zitat von tomreis:
Haben wir aber schon im Ziel die passende Verzeichnisstruktur und im Monat 05 z.B. schon zwei Dateien (eine gross eine klein) werden die beiden gleichnamigen Dateien im Quellverzeichniss werder kopiert, verschoben oder gelöscht. Das Script läuft aber ohne Fehlermeldung - alles bleibt wie es ist ???
einfach noch eine Else-Anweisung anhängen.
Gruß Thomas
Bitte warten ..
Mitglied: tomreis
31.03.2020 um 20:53 Uhr
Hallo Thomas,

ich habe die Else Anweisung eingebaut (DANKE !).

Sofern sich das zu startende .ps1 Script in dem betreffenden "d:\quellestart" befindet und von dort aus gestartet wird, werden die vorhandenen Dateien nach dem Ausführen gelöscht.

Starte ich es z.B. von c:\ dann kommt eine Fehlermeldung, dass das Script die betreffende Bilddatei nicht auf c:\ finden konnte.

Jedoch muss darüber hinaus noch ein "Feature" in dem Script sein.

Denn sofern schon am Ziel Dateien mit gleichen Namen vorhanden sind, werden diese weder geändert noch überschrieben - es wird quasi nichts von dem Script ausgeführt - außer mit der Else-Anweisung - ggf. die Dateien im Quellverzeichniss gelöscht (sh. oben). Hast Du da ev. noch eine Lösung ???

Wie gesagt, sind die betreffenden Dateien am Ziel noch nicht vorhanden, werden die Dateien normal kopiert und wohl dank der ELSE in der Quelle gelöscht.

Gruss Tom
Bitte warten ..
Mitglied: TK1987
01.04.2020 um 10:40 Uhr
Zitat von tomreis:
Starte ich es z.B. von c:\ dann kommt eine Fehlermeldung, dass das Script die betreffende Bilddatei nicht auf c:\ finden konnte.
In dem Fall muss die Else-Anweisung dann
lauten.
Denn sofern schon am Ziel Dateien mit gleichen Namen vorhanden sind, werden diese weder geändert noch überschrieben - es wird quasi nichts von dem Script ausgeführt - außer mit der Else-Anweisung - ggf. die Dateien im Quellverzeichniss gelöscht (sh. oben). Hast Du da ev. noch eine Lösung ???
Öhm... genau das wolltest du doch auch so haben?! Sofern die Datei in dem Ziel vorhanden ist, wird geprüft, ob diese Größer als die Datei aus der Quelle ist. Wenn die Datei im Ziel also größer ist, passiert dort auch nichts.
Bitte warten ..
Mitglied: tomreis
01.04.2020 um 15:17 Uhr
Ja nur leider werden kleiner vorhandene nicht durch etwaige größere, gleichnamige aus der Quelle überschrieben !
Bitte warten ..
Mitglied: tomreis
01.04.2020 um 15:30 Uhr
ahhh - ich habe den Fehler gefunden - kann ihn aber nicht selbst ändern

Das Script arbeitet genau verkehr herum.

Es überschreibt größere Dateien am Ziel mit einer kleineren Quelldatei. Es muss aber genau umgekehrt sein wo stelle ich das ein bzw. richtig ???

LG und Dank Tom

Bitte warten ..
Mitglied: TK1987
01.04.2020, aktualisiert um 16:24 Uhr
Zitat von tomreis:
Es überschreibt größere Dateien am Ziel mit einer kleineren Quelldatei.
Jetzt wo du's sagst
wo stelle ich das ein bzw. richtig ???
Bitte warten ..
Mitglied: tomreis
01.04.2020 um 17:38 Uhr
Vielen lieben Dank - und Dank an alle die geholfen haben - so ist es wie ich es benötige / SUPI !!!!!
Bitte warten ..
Ähnliche Inhalte
Windows Server
Neues AD-Attribut erstellen
gelöst Frage von fox14chWindows Server3 Kommentare

Hallo zusammen Ich muss ein neues AD-Attribut erstellen. Ich habe auch diese Anleitung hier gefunden und versuche Ihr zu ...

Batch & Shell

Batch Datei - Verzeichnis kopieren funktioniert nicht - nur Dateien

gelöst Frage von inspiratioBatch & Shell12 Kommentare

Hallo zusammen, ich habe eine Batch Datei erstellt wo die Unterverzeichnisse von A nach B kopiert werden sollen: echo ...

Batch & Shell

Exchange2010-Konsole - Attribut auslesen mit PS

gelöst Frage von HeuristikerBatch & Shell2 Kommentare

Hallo und schönen guten Morgen, ich suche eine galante Möglichkeit mittels Windows PowerShell ein Attribut aus der Exchange2010-Konsole auszulesen ...

Windows Netzwerk

Gruppen Attribut über NPS zuweisen

gelöst Frage von flugfaustWindows Netzwerk1 Kommentar

Hallo, wir haben sehr viele Switche von Cisco bei uns am Laufen an denen wir uns über RADIUS Logins ...

Neue Wissensbeiträge
Windows Netzwerk

SCOM ( System Center Operations Manager ) um eine E-Mailschnittstelle erweitern

Anleitung von Juanito vor 3 StundenWindows Netzwerk

Einleitung System Center Operations Manager (SCOM) ist Microsoft's Lösung zum Überwachen von Servern. Dazu zählt die generelle Erreichbarkeit, Festplattenspeicher, ...

Humor (lol)
BioShield gegen 5G
Information von magicteddy vor 1 TagHumor (lol)3 Kommentare

Moin wer sich gegen die hochgefährlichen 5G schützen möchte wird hier fündig: 5GBioShield "gegen 5G-Strahlung" Ich glaube, ich sollte ...

Windows Server

ScheduledTasks mit einem Group-Managed-Service-Account (GMSA) ausführen

Anleitung von ToniHo vor 1 TagWindows Server

Hallo zusammen, wer schonmal versucht hat ein Group-Managed-Service-Account (GMSA) auf einem bestehenden ScheduledTask einzutragen, ist an der GUI vermutlich ...

Humor (lol)
Anti 5G USB Stick
Information von Ex0r2k16 vor 1 TagHumor (lol)14 Kommentare

Perfekt für den Freitag, findet sich hier ein Businesspartner der mit mir zusammen einen Anti 6G Esoterik Stick rausbringt? ...

Heiß diskutierte Inhalte
Windows 10
Win 10 Problem Intergeschwindigkeit aber LAN OK
Frage von helpmikeWindows 1021 Kommentare

Hallo, versuche mal das Problem zu beschreiben. Der PC (i5 9600 / 16 GB / H370M / Intel 1 ...

Festplatten, SSD, Raid
WD My Book Platine tauschen?
gelöst Frage von WandaStaabFestplatten, SSD, Raid19 Kommentare

Schönen guten Abend! Eine Bekannte bat mich, ihre externe Festplatte, eine WD My Book 4TB (wdbfjk0040hbk-04), anzuschauen, die sich ...

Router & Routing
Portfreigabe NAS Fritzbox
gelöst Frage von dbox3Router & Routing14 Kommentare

Hallo zusammen, ich habe ein Netzwerk eingerichtet (s.Bild) bei dem ich auf dem NAS der FB7490 mit der IP ...

Exchange Server
Windows Exchange Server 2010 ablösen durch neuen Exchange Server 2016 - Was beachten
Frage von server0815Exchange Server14 Kommentare

Hallo, ich habe die Aufgabe bekommen unseren nun schon etwas in die Jahre gekommenen Exchange Server 2010 (Version 14.03.0487.000) ...