106245
12.04.2012
3807
8
1
Dateiänderung seit letzten Aufruf auflisten
Hallo liebe Community,
ich möchte gerne eine Batch-Datei schreiben. Sie soll bei Aufruf aus einer anderen Datei das letzte Aktualisierungsdatum finden, danach in einem Verzeichnis alle Dateien finden, die neuer als das Datum sind und ihren Pfad in einer neuen Datei schreiben.
Bisher habe ich das zusammengebastelt:
adata.txt = Alle Dateien mit Unterverzeichnis
dit.txt = Ausgabedatei mit den neuen Dateien (Pfad)
ae.txt = Datei mit dem Änderungsdatum
rem 1. Liste Verzeichnis auf...
del adata.txt
dir /s /b /o-d /tw >> adata.txt
rem 2. Schreibe alle Dateien mit neueren Änderungsdatum in eine Datei...
del dir.txt
for /f "delims=" %%i in (adata.txt) do ??? >> dir.txt
rem 3. Setze auf aktuelles Datum
rem ???
pause
Und dort, wo ??? steht, wüsste ich nicht weiter... könnt ihr mir helfen? Oder geht das überhaupt so, wie ich das oben versuche?
ich möchte gerne eine Batch-Datei schreiben. Sie soll bei Aufruf aus einer anderen Datei das letzte Aktualisierungsdatum finden, danach in einem Verzeichnis alle Dateien finden, die neuer als das Datum sind und ihren Pfad in einer neuen Datei schreiben.
Bisher habe ich das zusammengebastelt:
adata.txt = Alle Dateien mit Unterverzeichnis
dit.txt = Ausgabedatei mit den neuen Dateien (Pfad)
ae.txt = Datei mit dem Änderungsdatum
rem 1. Liste Verzeichnis auf...
del adata.txt
dir /s /b /o-d /tw >> adata.txt
rem 2. Schreibe alle Dateien mit neueren Änderungsdatum in eine Datei...
del dir.txt
for /f "delims=" %%i in (adata.txt) do ??? >> dir.txt
rem 3. Setze auf aktuelles Datum
rem ???
pause
Und dort, wo ??? steht, wüsste ich nicht weiter... könnt ihr mir helfen? Oder geht das überhaupt so, wie ich das oben versuche?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 183433
Url: https://administrator.de/contentid/183433
Ausgedruckt am: 24.11.2024 um 14:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo,
auf was genau soll geachtet werden? Nur Datum? Auch Zeit? Neuer oder auch gleich alt?
Als einen ersten Ansatz vielleicht mal folgendes:
(ungetestet)
MfG,
Mathe172
P.S.:Bitte Code-Formatierung benutzen!
auf was genau soll geachtet werden? Nur Datum? Auch Zeit? Neuer oder auch gleich alt?
Als einen ersten Ansatz vielleicht mal folgendes:
REM Datum im Format JJJJMMTT
set "Vergleich=20120123"
for /f "tokens=1-6* delims=.: " %%A in ('dir /a-d') do (
if "%%C%%B%%A" GTR "%Vergleich%" echo.%%G
)
pause
MfG,
Mathe172
P.S.:Bitte Code-Formatierung benutzen!
Hi,
Alles noch nie dagewesen, nach Verarbeiten von Dateien nach Datum hat hier noch nie jemand gefragt......
Vorschlag: An deiner Stelle würde ich mal die Suchfunktion des Forums nutzen, dann würdest du feststellen, dass dieses Thema in ähnlicher Form fast jede Woche umassend bearbeitet ´wird.
.
Gruß
.
Zitat von @106245:
ich möchte gerne eine Batch-Datei schreiben. Sie soll bei Aufruf aus einer anderen Datei das letzte Aktualisierungsdatum
finden,
ich möchte gerne eine Batch-Datei schreiben. Sie soll bei Aufruf aus einer anderen Datei das letzte Aktualisierungsdatum
finden,
Alles noch nie dagewesen, nach Verarbeiten von Dateien nach Datum hat hier noch nie jemand gefragt......
Vorschlag: An deiner Stelle würde ich mal die Suchfunktion des Forums nutzen, dann würdest du feststellen, dass dieses Thema in ähnlicher Form fast jede Woche umassend bearbeitet ´wird.
.
Gruß
.
Dann gib mal "Verarbeiten von Dateien nach Datum" in die Suchfunktion ein^^
Raus kommen 11 Fragen, wovon mir keine Antwort hilft...
Was kann ich denn dafür, dass du offenbar nicht in der Lage bist, eine Suchanfrage vernüftig abzusetzen?Raus kommen 11 Fragen, wovon mir keine Antwort hilft...
Wenn ich in der erweiterten Suche "Datum" eingebe und alle Bereiche durchsuchen lasse, bekomme ich über 2000 Treffer, und wenn ich das nur im passenden Berech suchen lasse, ~560 passende Fragen, 13 Anleitungen, 8 Tipps und über 660 Kommentare. Und da ist nichts Passendes für dich dabeì?
Tut mir leid, aber wenn ich solchen Antworten bekomme, sinkt meine Bereitschaft zur Hilfe auf 0. Mir ist meine Zeit zu schade, Leute, die nicht bereit sind, sich selbst Mühe zu geben, nur zu bedienen, zumal das Thema hier im Forum schon bis zum Erbrechen durchgekaut wurde.
.
Hallo,
um die ersten Zeilen zu überspringen(sorry, hab ich in meinem Code vergessen) geht mit "skip=5" in den Parameter von For
Und die Zeit lässt sich mit einem zweiten if vergleichen
Also:
MfG,
Mathe172
um die ersten Zeilen zu überspringen(sorry, hab ich in meinem Code vergessen) geht mit "skip=5" in den Parameter von For
Und die Zeit lässt sich mit einem zweiten if vergleichen
Also:
REM Datum im Format JJJJMMTT
set "VergleichDatum=20120123"
REM Format HHMM
set "VergleichZeit=0923"
for /f "skip=6 tokens=1-6* delims=.: " %%A in ('dir /a-d') do (
if "%%C%%B%%A" GTR "%VergleichDatum%" if "%%E%%D" GTR "%VergleichZeit%" echo.%%G
)
pause
MfG,
Mathe172
Zitat von @106245:
@106009: Wenn deine Hilfsbereitschaft schon auf null ist und dir die Zeit zu schade ist, warum hast du schon 2 Posts gemacht,
die nicht zur Lösung meines Problems beitragen? Und wie willst du genau wissen, ob ich mir keine Mühe gebe?
@106009: Wenn deine Hilfsbereitschaft schon auf null ist und dir die Zeit zu schade ist, warum hast du schon 2 Posts gemacht,
die nicht zur Lösung meines Problems beitragen? Und wie willst du genau wissen, ob ich mir keine Mühe gebe?
Du bist selbst zu dämlich zu erkennen, dass auch in meinen Antworten Informationen enthalten waren, die dir sehr wohl bei der Lösung deines "Problems" hätten helfen können.
Was soll's: Der geistige Horizont ist eben bei einigen Leuten der Abstand zwischen Kopf und Brett.
EOD