Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Kopieren von Dateien im Datumsbereich mit Verzeichnis-Struktur?

Frage Microsoft Windows 7

Mitglied: Dixioldie

Dixioldie (Level 1) - Jetzt verbinden

07.01.2013 um 15:14 Uhr, 1832 Aufrufe, 3 Kommentare

Um Dateien zu sichern, suche ich nach einem Weg, veränderte Dateien in einem bestimmten Datumsbereich (z.B. 1.1.2011 bis 31.12.2011) zu finden und inklusive(!) der Verzeichnis-Struktur zu kopieren.
Mit xcopy war ich nicht erfolgreich, da nur Dateien ab einem bestimmten Datum kopiert werden.
Mit der Suche im Windows-Explorer von Win7 war ich nicht erfolgreich, da keine Verzeichnis-Struktur kopiert wird.

Kennt jemand einen allgemein gültigen Weg, um das Problem zu lösen?
Mitglied: bastla
07.01.2013, aktualisiert um 16:19 Uhr
Hallo Dixioldie und willkommen im Forum!

Mit einem Batch (und nicht allzu großer Eile - mit zB XXCOPY wäre das etwas flotter zu bewerkstelligen) ließe sich das etwa so umsetzen:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Test" 
03.
set "Ziel=X:\Kopie" 
04.
set "Von=20110101" 
05.
set "Bis=20111231" 
06.
 
07.
for /f "delims=" %%i in ('dir /s/b/a-d "%Quelle%"') do for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do if "%%c%%b%%a" geq "%Von%" if "%%c%%b%%a" leq "%Bis%" call :ProcessFile "%%i" 
08.
goto :eof 
09.
 
10.
:ProcessFile 
11.
set "Q=%~1" 
12.
call set "Z=%%Q:%Quelle%=%Ziel%%%*" 
13.
echo %1 --^> "%Z%" 
14.
xcopy /dy %1 "%Z%">nul 
15.
goto :eof
Die Schalter "/dy" (weitere nach Bedarf hinzufügen) sorgen dafür, dass der Batch auch mehrfach ausgeführt werden kann, da nur neuere Dateien kopiert würden. Mit "*" am Ende des Zieldateinamens wird signalisiert, dass eine Datei und nicht ein Verzeichnis erstellt werden soll - so lässt sich die Abfrage
Ist das Ziel X:\Kopie\Test1.txt ein Dateiname 
oder ein Verzeichnisname 
(D = Datei, V = Verzeichnis)?
vermeiden.

Grüße
bastla
Bitte warten ..
Mitglied: Dixioldie
08.01.2013 um 10:41 Uhr
Ich habe die Parameter von xcopy ergänzt:
@echo on & setlocal
set "Quelle=Y:\Files"
set "Ziel=E:\Temp\Test"
set "Von=20110101"
set "Bis=20111231"
for /f "delims=" %%i in ('dir /s/b/a-d "%Quelle%"') do for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do if "%%c%%b%%a" geq "%Von%" if "%%c%%b%%a" leq "%Bis%" call :ProcessFile "%%i"
goto :eof
:ProcessFile
set "Q=%~1"
call set "Z=%%Q:%Quelle%=%Ziel%%%*"
echo %1 --^> "%Z%"
xcopy /d /y /s %1 "%Z%">nul
goto :eof

Jetzt erzeugt das Script Verzeichnisse - und löscht sie dann gleich wieder?
Warum?









:ProcessFile
set "Q=%~1"
call set "Z=%%Q:%Quelle%=%Ziel%%%*"
echo %1 --^> "%Z%"
xcopy /dy %1 "%Z%">nul
goto :eof
</code>
Die Schalter "/dy" (weitere nach Bedarf hinzufügen) sorgen dafür, dass der Batch auch mehrfach
ausgeführt werden kann, da nur neuere Dateien kopiert würden. Mit "*" am Ende des Zieldateinamens wird
signalisiert, dass eine Datei und nicht ein Verzeichnis erstellt werden soll - so lässt sich die Abfrage
Ist das Ziel X:\Kopie\Test1.txt ein Dateiname 
> oder ein Verzeichnisname 
> (D = Datei, V = Verzeichnis)? 
> 
vermeiden.

Grüße
bastla
Bitte warten ..
Mitglied: bastla
08.01.2013 um 15:46 Uhr
Hallo Dixioldie!

Der Schalter "/s" ist nicht sinnvoll, da Zielpfade ohnehin nach Bedarf automatisch erzeugt werden und jeweils nur eine einzige Datei kopiert wird - ich hatte eher an zB "/hkoqr" gedacht ...

... ansonsten kann ich allerdings das Problem bei meinen Tests nicht nachvollziehen ...

Grüße
bastla

P.S.: Verwende bitte beim Posten von Code die passende Formatierung.
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(11)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server Komplettspiegelung (13)

Frage von pdiddo zum Thema Windows Server ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...