1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

BatchFile: Erstellungsdatum von Datei auslesen

Discussion in 'Programmieren' started by Brovning, Aug 16, 2005.

Thread Status:
Not open for further replies.
  1. Brovning

    Brovning Byte

    Guten Tag!
    Habe leider ein Problem, mit welchem ich mich nun schon länger beschäftige.

    Kann man das Erstellungsdatum einer Datei mit Hilfe einer BatchDatei auslesen und weiterverarbeiten?

    Vielen Dank für Euere Hilfe!

    Gruß

    Brovning
     
  2. Michi0815

    Michi0815 Guest

    das geht soweit ich weiss nur über "Ersetzung von Verweisen" (unter "help for" gibts da nähere infos). in kurz: du brauchst einen verweis auf die datei. den bekommt man am einfachsten über eine for-schleife; den verweis ersetzt man dann durch das dateidatum:

    for %%f in ("c:\gewünschte.datei") do echo %%~tf
     
  3. Brovning

    Brovning Byte

    Du bist der Beste! Nochmals vielen Dank ! ! !
    Jetzt bin ich meiner Lösung schon wesentlich näher!

    Wie mache ich das nun für alle Dateien in einem bestimmten Verzeichnis?
     
  4. Michi0815

    Michi0815 Guest

    for %%f in ("c:\verzeichis\*") do echo %%f: %%~tf
     
  5. Brovning

    Brovning Byte

    *arg* so einfach...

    Nun bin ich bei meinem finalen Problem.
    Ich möchte alle Dateien, welche einem bestimmten Datum entsprechen in einen anderen Ordner verschieben, doch der FOR-Befehl lässt nur DO zu.
    Zudem weis ich nicht, wie die Datei heißt, welche das jeweilige Datum hat.

    Dachte zuerst an:
    for %%f in (*) (If "%%~tf" EQU "%Datum%" MOVE %?????% %folder%)
     
  6. Brovning

    Brovning Byte

    Also bin jetzt schon weiter:
    Die Datei ist das %%f und vor das IF muss ein DO, aber irgendwie funktiert es so auch noch nicht:

    for %%f in (*) DO (If "%%~tf" EQU "%Datum%" MOVE %%t %folder%)
     
  7. Michi0815

    Michi0815 Guest

    Code:
    @echo off
    
    if NOT %1.==. goto %1
    set Datum=16.08.05
    
    for %%f in (*) do call %0 DateCheck %%~tf "%%f"
    goto File_Fin
    
    :DateCheck
    rem Anmerkung: die Ausgabe von %%~tf erfolgt nach folgendem Format:
    rem            dd.mm.jj hh:mm
    rem            Durch das Leerzeichen zerfällt der eine Parameter bei
    rem            der Übergabe (call-Befehl) in 2 Parameter!!
    rem %1 ... auszuführende "Prozedur"; kann man sich in diesem Fall sparen...
    rem %2 ... Datum
    rem %3 ... Uhrzeit
    rem %4 ... Dateiname
    
    if %2.==%Datum%. move %4 %sonstwohin%
    goto File_Fin
    
    :File_Fin
     
  8. Brovning

    Brovning Byte

    Nochmals vielen vielen Dank! :bet:
    Funktioniert nun exakt so, wie ich es mir von Anfang an vorgestellt hatte!
     
Thread Status:
Not open for further replies.

Share This Page