Hallo liebe Community
Ich möchte eine Batch-Datei erstellen welche Dateien mit gleichem Namen (ausser Dateiändung) in einen Unterordner verschiebt und alle anderen Dateien ignoriert.
Beispiel:
Ordnerinhalt:
datei1.log
datei1.prj
datei2.prj
datei3.prj
datei4.prj
datei4.log
datei5.prj
datei6.prj
Hier sollten die Dateien datei1.log, datei1.prj, datei4.log, datei4.prj in einen Unterordner verschoben werden.
Weiter sollten alle Daeiten die älter als 30 Tage sind aus dem Unterordner gelöscht werden.
Vielen Dank im voraus für eure hilfe.
Seite 1 von 1
Batchdatei die Dateinamen vergleicht und verschieben
Anzeige
#2
geschrieben 25. Juli 2016 - 08:51
Also Datei1.* zusammen, Datei2.* zusammen in einen anderen Ordner?
Da hast Du jetzt die Wahl, ob der Name für den Ordner von der Datei selber abgeleitet werden soll oder nicht. Wenn nicht, müßtest Du zwei Parameter übergeben; ansonsten halt nur einen.
Zum Beispiel so:
Wichtig: funktioniert nur, wenn die bewußten Dateien auch alle Endungen haben und insbesondere keine Datei existiert, die den Namen hat, aber keine Endung. Darauf müßte ggf noch zusätzlich geprüft werden.
Dasselbe für weitere Checks (gibt's die Datei überhaupt, kann der Ordner angelegt werden, etc.)
Da hast Du jetzt die Wahl, ob der Name für den Ordner von der Datei selber abgeleitet werden soll oder nicht. Wenn nicht, müßtest Du zwei Parameter übergeben; ansonsten halt nur einen.
Zum Beispiel so:
@echo off SET %_fb%=%~n1 REM für zweiten Parameter REM SET _target=%~f2 MD "%_fb%" REM Für zweiten Parameter REM MD "%_target%" REM Für 2. Parameter etsprechend hier das Ziel ändern MOVE "%_fb.*" "%_fb%\"
Wichtig: funktioniert nur, wenn die bewußten Dateien auch alle Endungen haben und insbesondere keine Datei existiert, die den Namen hat, aber keine Endung. Darauf müßte ggf noch zusätzlich geprüft werden.
Dasselbe für weitere Checks (gibt's die Datei überhaupt, kann der Ordner angelegt werden, etc.)
#3
geschrieben 25. Juli 2016 - 09:11
Hallo RalphS
Nein nicht ganz so, datei1.log, datei1.prj, datei4.log, datei4.prj sollen alle in den gleichen Ordner verschoben werden. Also alle Dateien die sowol als .log als auch als .prj vorhanden sind. Die anderen Dateien können ignoriert werden. Der Ordner muss nicht erstellt werden nennen wir ihn "Archiv" und ist bereits vorhanden.
Sorry wenn ich mich unklar ausgedrückt habe.
Nein nicht ganz so, datei1.log, datei1.prj, datei4.log, datei4.prj sollen alle in den gleichen Ordner verschoben werden. Also alle Dateien die sowol als .log als auch als .prj vorhanden sind. Die anderen Dateien können ignoriert werden. Der Ordner muss nicht erstellt werden nennen wir ihn "Archiv" und ist bereits vorhanden.
Sorry wenn ich mich unklar ausgedrückt habe.
Thema verteilen:
Seite 1 von 1