locked
Wie kann ich nur die Dateien die heute geändert worden sind kopieren? RRS feed

  • Frage

  • Hallo zusammen

    Ich möchte von einem Ordner jeden Tag die Dateien die drin liegen kopieren (Von A nach B kopieren). Jedoch nur die Dateien die an diesem Tag bzw. heute geändert worden sind. Ich habe mich mit "robocopy" auseinander gesetzt und bin zu keiner Lösung gekommen. Eventuell übersehe ich etwas.

    Falls Ihr irgendwelche Vorschläge habt oder auch Hinweise wäre ich sehr dankbar.

    Danke führ eure Hilfe im Voraus.

    Freundliche Grüsse

    Fipolino


    EDIT:
    Ich möchte am Ende des Tages das Skript laufen lasse und es soll die Dateien von einem Ordner auf meine externe Festplatte kopieren. Jedoch nur diejenigen bei denen ich etwas geändert habe oder neu erstellt habe. Also es währe eine Art incremental Backup.

    • Bearbeitet Aletun Freitag, 27. November 2015 14:24
    Freitag, 27. November 2015 10:39

Antworten

  • Hi,

    beschreib deinen Fall etwas genauer.

    Robocopy könnte das durchaus hinkriegen:
    https://technet.microsoft.com/de-de/library/cc733145%28v=ws.10%29.aspx

    /minlad:<N>

    Specifies the minimum last access date (excludes files used since N) If N is less than 1900, N specifies the number of days. Otherwise, N specifies a date in the format YYYYMMDD.

    Wenn du für /minlad:YYYYMMDD jeweils das Datum des Vortages angibst, dann kopierst du nur die Daten, die mindestens am Vortag angefasst wurden.

    Oder du bemühst die Powershell:

    $path = "DEINPFAD"
    $files = Get-Childitem $path -recurse
    
    foreach ($file in $files)
    {
        $lastwritetime = ($file.LastWriteTime).Date
        $yesterday = ((Get-Date).AddDays(-1)).Date
    
        if ($lastwritetime -eq $yesterday)
        {
            Write-Host "File was changed yesterday, copy it"
        }
    
    }

    EDIT: Sehe gerade, dass du das für denselben Tag möchtest, Prinzip dürfte aber klar sein ;)


    • Bearbeitet Lennart Freitag, 27. November 2015 12:20
    • Als Antwort markiert Teodora Milusheva Dienstag, 1. Dezember 2015 12:18
    Freitag, 27. November 2015 12:18
  • Hi,
     
    Am 27.11.2015 um 11:39 schrieb Fipolino:
    > [...] Jedoch nur die Dateien die an diesem
    > Tag bzw. heute geändert worden sind.
     
    xcopy /D:M-T-J
     
    Vielleicht versteht er das deutsch "%date% für "heute". Ansonsten muss
    du das Datum umbauen, von tt.mm.jjjj nach mm-tt-jjjj
     
    for /f "tokens=1,2,3 delims=." %a in ('echo %date%') do xcopy .. /D:%b-%a-%c
     
    Tschö
    Mark
    --
    Mark Heitbrink - MVP Windows Server - Group Policy
     
    GPO Tool: http://www.reg2xml.com - Registry Export File Converter
     
    Freitag, 27. November 2015 12:35

Alle Antworten

  • Hi,

    beschreib deinen Fall etwas genauer.

    Robocopy könnte das durchaus hinkriegen:
    https://technet.microsoft.com/de-de/library/cc733145%28v=ws.10%29.aspx

    /minlad:<N>

    Specifies the minimum last access date (excludes files used since N) If N is less than 1900, N specifies the number of days. Otherwise, N specifies a date in the format YYYYMMDD.

    Wenn du für /minlad:YYYYMMDD jeweils das Datum des Vortages angibst, dann kopierst du nur die Daten, die mindestens am Vortag angefasst wurden.

    Oder du bemühst die Powershell:

    $path = "DEINPFAD"
    $files = Get-Childitem $path -recurse
    
    foreach ($file in $files)
    {
        $lastwritetime = ($file.LastWriteTime).Date
        $yesterday = ((Get-Date).AddDays(-1)).Date
    
        if ($lastwritetime -eq $yesterday)
        {
            Write-Host "File was changed yesterday, copy it"
        }
    
    }

    EDIT: Sehe gerade, dass du das für denselben Tag möchtest, Prinzip dürfte aber klar sein ;)


    • Bearbeitet Lennart Freitag, 27. November 2015 12:20
    • Als Antwort markiert Teodora Milusheva Dienstag, 1. Dezember 2015 12:18
    Freitag, 27. November 2015 12:18
  • Hi,
     
    Am 27.11.2015 um 11:39 schrieb Fipolino:
    > [...] Jedoch nur die Dateien die an diesem
    > Tag bzw. heute geändert worden sind.
     
    xcopy /D:M-T-J
     
    Vielleicht versteht er das deutsch "%date% für "heute". Ansonsten muss
    du das Datum umbauen, von tt.mm.jjjj nach mm-tt-jjjj
     
    for /f "tokens=1,2,3 delims=." %a in ('echo %date%') do xcopy .. /D:%b-%a-%c
     
    Tschö
    Mark
    --
    Mark Heitbrink - MVP Windows Server - Group Policy
     
    GPO Tool: http://www.reg2xml.com - Registry Export File Converter
     
    Freitag, 27. November 2015 12:35