Dateien mit dem Datum von gestern in einen Ordner kopieren
hallo leute,
leider konnten mir die jungs aus dem batch-lager nicht weiterhelfen. jetzt hoffe ich mal auf euch.
und zwar ich sollte vom laufwerk z:\ die dateien mit dem gestriegen datum jeweils auf das laufwerk d:\sicherungen kopieren.
auf dem laufwerk z: sicherungssätze drauf. ca 8 datien haben immer das selbe datum. und ich sollt wie gesagt immer die daten vom letzten tag kopiert haben.
könnt ihr mir da helfen. ich habe leider keinen tau von vbs!
deshalb auch ein wenig leicht verständlich bleiben.
wäre echt super
merci
leider konnten mir die jungs aus dem batch-lager nicht weiterhelfen. jetzt hoffe ich mal auf euch.
und zwar ich sollte vom laufwerk z:\ die dateien mit dem gestriegen datum jeweils auf das laufwerk d:\sicherungen kopieren.
auf dem laufwerk z: sicherungssätze drauf. ca 8 datien haben immer das selbe datum. und ich sollt wie gesagt immer die daten vom letzten tag kopiert haben.
könnt ihr mir da helfen. ich habe leider keinen tau von vbs!
deshalb auch ein wenig leicht verständlich bleiben.
wäre echt super
merci
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 47967
Url: https://administrator.de/forum/dateien-mit-dem-datum-von-gestern-in-einen-ordner-kopieren-47967.html
Ausgedruckt am: 23.12.2024 um 13:12 Uhr
9 Kommentare
Neuester Kommentar
Werden die Dateien immer nur 1x kopiert? Dann geht es nämlich supereinfach mit xcopy...
xcopy /m z:\*.* d:\sicherungen
Das "/m" bewirkt, dass nur Daten mit gesetztem Archivattribut kopiert werden, und das Attribut nach dem Kopieren zurückgesetzt wird.
Ergo werden Dateien, die bereits kopiert wurden, nicht nochmal kopiert, sondern nur neue Dateien.
xcopy /m z:\*.* d:\sicherungen
Das "/m" bewirkt, dass nur Daten mit gesetztem Archivattribut kopiert werden, und das Attribut nach dem Kopieren zurückgesetzt wird.
Ergo werden Dateien, die bereits kopiert wurden, nicht nochmal kopiert, sondern nur neue Dateien.
leider konnten mir die jungs aus dem batch-lager nicht weiterhelfen
Das macht mich aber nun ein wenig betroffen...Nochmal eine der skizzierten Batch-Lösungen, auf die verwiesen wurde, im ganzen Satz (aber ungetestet):
::---CopyVonGestern.bat
@echo off & setlocal
echo wscript.echo dateAdd("d",-1, date())>%temp%\Gestern.vbs
For /f %%i in ('cscript //nologo %temp%\Gestern.vbs') do set "Gestern=%%i"
del %temp%\Gestern.vbs
@for /f "tokens=4,*" %%i in ('dir /A:-d z:\ ^|find "%Gestern%"') do copy "z:\%%i" d:\datensicherungen
::----CopyVonGestern.vbs
Ebenso funktionieren würde auch miniversums Variante (totto's natürlich auch, wenn Du Schreibrechte hättest) sowie ein gutes Dutzend Varianten mit ForFiles.exe, DelAge32.exe und ähnlichen. Findet man/frau über die so genannte Forumssuche.
Dann setze wenigstens den aus Deiner Sicht unlösbaren Parallel-Thread in Batch und Shell mit einem grünen Haken auf "Erledigt", ehe sich da noch weitere abstrampeln. Ich kann leider den Beitrag nicht schließen, weil unser WebMassa scholl da offensichtlich einen neuen Bug reingesemmelt hat - Beiträge schließen geht grad nicht.
Eine reine VBS-Lösung zu "Dateien mit bestimmten Datumswerten irgendwas machen" hat auch bastla schon mal ins Forum und in die Public Domain gepostet.
Grüße
Biber,
der sich jetzt erst mal einen Baldrianteechen aufsetzt...
[Edit]
Alzheimer-Korrektur im Beispiel-Schnipsel -siehe bastla's Kommentar unten.
Und einen als Dienst laufenden Batch zum automatischen Teewasser-Aufsetzen bei neuen Hifclif-Beiträgen hab ich jetzt auch.
[/Edit]
Thx @bastla,
ich werde an meinen guten Vorsätzen wohl noch arbeiten müssen...
@Hifclif
An Dich auch noch mal ein "Sorry" für mein Aufplustern vorhin - es war nur, weil ich eigentlich ganz angetan davon war, dass zu Deiner Batch-Anforderung, die in anderen Foren immer pauschal abgebügelt wird mit "Geht nicht mit Batch, aber es gibt da ein Shareware-Utility namens BlaBlubb.exe.." oder "Ich habe dafür eine kleine Exe in C# geschrieben...", dass dafür also innerhalb von Minuten gleich mehrere brauchbare Antworten kamen.
Da war ich dann schon etwas angefasst bei Deiner Formulierung.
Es ging mir aber nicht darum, dass es mit Batch besser oder einfacher oder lesbarer ginge als mit VBS - da bin ich relativ leidenschaftslos.
Da es letzten Endes ja ohne Datums-Berechnungsfunktionen a la DateAdd()/DateDiff() nicht (sinnvoll) geht, spricht wirklich nichts gegen eine vollständige Umsetzung mit VBSkript.
Grüße
Biber
ich werde an meinen guten Vorsätzen wohl noch arbeiten müssen...
@Hifclif
An Dich auch noch mal ein "Sorry" für mein Aufplustern vorhin - es war nur, weil ich eigentlich ganz angetan davon war, dass zu Deiner Batch-Anforderung, die in anderen Foren immer pauschal abgebügelt wird mit "Geht nicht mit Batch, aber es gibt da ein Shareware-Utility namens BlaBlubb.exe.." oder "Ich habe dafür eine kleine Exe in C# geschrieben...", dass dafür also innerhalb von Minuten gleich mehrere brauchbare Antworten kamen.
Da war ich dann schon etwas angefasst bei Deiner Formulierung.
Es ging mir aber nicht darum, dass es mit Batch besser oder einfacher oder lesbarer ginge als mit VBS - da bin ich relativ leidenschaftslos.
Da es letzten Endes ja ohne Datums-Berechnungsfunktionen a la DateAdd()/DateDiff() nicht (sinnvoll) geht, spricht wirklich nichts gegen eine vollständige Umsetzung mit VBSkript.
Grüße
Biber
Ach Du herrje, hier wird ja gleich mit Kanonen auf Spatzen geschossen...
Also wenn die Dateien, die kopiert werden sollen immer die neusten sind, dann langt auch ein:
xcopy /d z:\*.* d:\sicherungen
Das "/d" impliziert, dass nur Dateien kopiert werden, die neuer als die bestehenden Zieldateien sind, oder diejenigen, die im Ziellaufwerk nicht vorhanden sind...
Ich spreche jetzt nur für mich, aber ich bin der Meinung, dass i.d.R. die einfachste Lösung meist auch die beste ist...
Nix für Ungut...
so long
Totto
Also wenn die Dateien, die kopiert werden sollen immer die neusten sind, dann langt auch ein:
xcopy /d z:\*.* d:\sicherungen
Das "/d" impliziert, dass nur Dateien kopiert werden, die neuer als die bestehenden Zieldateien sind, oder diejenigen, die im Ziellaufwerk nicht vorhanden sind...
Ich spreche jetzt nur für mich, aber ich bin der Meinung, dass i.d.R. die einfachste Lösung meist auch die beste ist...
Nix für Ungut...
so long
Totto