Text in Dateien finden u. dann verschieben
Hallo,
ich hoffe wirklich das ich nicht zu aufgeregt war den richtigen Beitrag zu meinem Problem zu finden, aber ich hab nun schon mehrere Tage damit verbracht u. mir sitzt jetzt die Zeit im Naken.
Ich möchte Dateien von einem zum anderen Server verschieben. Um das nach dem Änderungsdatum zu machen, hab ich schon aufgegeben. Jetzt will ich das nur noch mit find u. move machen. D. h. in den Dateien gibt es eine Kopfzeile in der das Datum nochmal ab dem 8 Zeichen wiederholt wird.
Bsp.: 121311120070101071800406723.0
Jetzt suche ich nachdem Jahr u. dem Monat. Da ich immer nur die verschieben will die älter als 30 Tage bzw. vom letzten Monat sind.
Das sieht dann so aus: find /C "200701" G:\Desktop\Test\*.*
In meinem Testordner funktioniert das auch ich bekomme dann die Dateien angezeigt mit der Anzahl wie oft enthalten die ich auch will. So und jetzt zu meinem Problem. Ich bin wahrscheinlich zu dumm dazu hier jetzt einfach einen Move befehl mit rein zu kriegen. Ich hab es auch schon über For probiert aber auch daran scheitere ich immer wieder. Sicherlich ist das ein ganz minimaler Aufwand aber ich als Anfänger bin schon ziemlich daran verzweifelt und wäre Euch wirklich für Eure Hilfe dankbar.
ich hoffe wirklich das ich nicht zu aufgeregt war den richtigen Beitrag zu meinem Problem zu finden, aber ich hab nun schon mehrere Tage damit verbracht u. mir sitzt jetzt die Zeit im Naken.
Ich möchte Dateien von einem zum anderen Server verschieben. Um das nach dem Änderungsdatum zu machen, hab ich schon aufgegeben. Jetzt will ich das nur noch mit find u. move machen. D. h. in den Dateien gibt es eine Kopfzeile in der das Datum nochmal ab dem 8 Zeichen wiederholt wird.
Bsp.: 121311120070101071800406723.0
Jetzt suche ich nachdem Jahr u. dem Monat. Da ich immer nur die verschieben will die älter als 30 Tage bzw. vom letzten Monat sind.
Das sieht dann so aus: find /C "200701" G:\Desktop\Test\*.*
In meinem Testordner funktioniert das auch ich bekomme dann die Dateien angezeigt mit der Anzahl wie oft enthalten die ich auch will. So und jetzt zu meinem Problem. Ich bin wahrscheinlich zu dumm dazu hier jetzt einfach einen Move befehl mit rein zu kriegen. Ich hab es auch schon über For probiert aber auch daran scheitere ich immer wieder. Sicherlich ist das ein ganz minimaler Aufwand aber ich als Anfänger bin schon ziemlich daran verzweifelt und wäre Euch wirklich für Eure Hilfe dankbar.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 52377
Url: https://administrator.de/forum/text-in-dateien-finden-u-dann-verschieben-52377.html
Ausgedruckt am: 23.04.2025 um 17:04 Uhr
10 Kommentare
Neuester Kommentar
Moin hilfesuchend,
willkommen im Forum.
Wenn das letzte Änderungsdatum in Deinem Fall aussagefähig ist, dann wäre das ein Fall für VBS, FileSystemObject.DateLastModified und bastla.
Aber ich glaube mich daran erinnern zu können, dass im Bereich "VB, VBA und ähnliches" schon mal exakt diese Anforderung beantwortet wurde.
Ansonsten poste bitte nochmal, ob ich das richtig verstanden habe, dass das Änderungsdatum als Kriterium valide ist... zur Not geht es auch per Batch oder ich brate schnell so einen VBS-Schnipsel zusammen.
Gruss
Biber
willkommen im Forum.
Um das nach dem Änderungsdatum zu machen, hab ich schon aufgegeben.
Dann lass uns diese Strategie wieder aufwärmen, bevor wir so eine Krücke über ein Find in Zeile 1 ab Position irgendwas nehmen.Wenn das letzte Änderungsdatum in Deinem Fall aussagefähig ist, dann wäre das ein Fall für VBS, FileSystemObject.DateLastModified und bastla.
Aber ich glaube mich daran erinnern zu können, dass im Bereich "VB, VBA und ähnliches" schon mal exakt diese Anforderung beantwortet wurde.
Ansonsten poste bitte nochmal, ob ich das richtig verstanden habe, dass das Änderungsdatum als Kriterium valide ist... zur Not geht es auch per Batch oder ich brate schnell so einen VBS-Schnipsel zusammen.
Gruss
Biber
Moin hilfesuchend,
Sollte dieser Fall eintreten, was ich ganz optimistisch sehe, dann
- anmelden
- bei der Eröffnungsfrage (dem eigentlichen Betrag) auf "Editieren" klicken
- das Kontrollkästchen "Dieser Beitrag gilt als gelöst.." ankreuzen per Maus.
Dieses kleine Kreuzchen wird durch interne, hoch spezialisierte objektorientierente 32-Bit-Routinen zu einem grossen grünen Haken aufgebrezelt, der dann weithin sichtbar ist und den Mod dieses Seitenarms des Forums immer wieder erfreut.
Gruss
Biber
Wie ist das dann eigentlich mit dem Beitrag später auf gelöst setzen, wenn in meinem Fall jetzt die Lösung damit erreicht wäre?
Sollte dieser Fall eintreten, was ich ganz optimistisch sehe, dann
- anmelden
- bei der Eröffnungsfrage (dem eigentlichen Betrag) auf "Editieren" klicken
- das Kontrollkästchen "Dieser Beitrag gilt als gelöst.." ankreuzen per Maus.
Dieses kleine Kreuzchen wird durch interne, hoch spezialisierte objektorientierente 32-Bit-Routinen zu einem grossen grünen Haken aufgebrezelt, der dann weithin sichtbar ist und den Mod dieses Seitenarms des Forums immer wieder erfreut.
Gruss
Biber
Hmmm,
mit dieser oben geposteten Works-as-designed-Lösung, die bastla da entsprechend der Vorgaben runtergetippselt hat, werde ich irgendwie nicht richtig warm.
Das geht mir zu sehr über Bande...
Alternative wäre ein anderer Batch-Oneliner, der wenigstens über das "echte" Änderungsdatum geht:
Der im Moment fest verdrahtete Suchstring ".01.2007" sollte natürlich besser als Parameter übergeben werden oder alternativ "ausgerechnet" werden als "vom Vormonat".
Diese Spitzfindigkeiten schenke ich mir/uns erstmal.
Ich wollte hier nur nochmals die grundsätzliche Strategie diskutieren.
Gruss
Biber
mit dieser oben geposteten Works-as-designed-Lösung, die bastla da entsprechend der Vorgaben runtergetippselt hat, werde ich irgendwie nicht richtig warm.
Das geht mir zu sehr über Bande...
Alternative wäre ein anderer Batch-Oneliner, der wenigstens über das "echte" Änderungsdatum geht:
>for /f "tokens=3*" %i in ('dir /a-d /t:w *.*^|find ".01.2007"') do @move /y "%j" X:\Zielverzeichnis
-bzw. in einem Batch-
for /f "tokens=3*" %%i in ('dir /a-d /t:w *.*^|find ".01.2007"') do @move /y "%%j" X:\Zielverzeichnis
Der im Moment fest verdrahtete Suchstring ".01.2007" sollte natürlich besser als Parameter übergeben werden oder alternativ "ausgerechnet" werden als "vom Vormonat".
Diese Spitzfindigkeiten schenke ich mir/uns erstmal.
Ich wollte hier nur nochmals die grundsätzliche Strategie diskutieren.
Gruss
Biber
@Biber
Wenn man die vielleicht eher geringe Wahrscheinlichkeit einer abweichenden Einstellung in %DIRCMD% außer Acht lässt, fällt das "/t:w" unter Fleißaufgabe - sehe ich das richtig?
Sofern hilfesuchend sicher ist, dass der Suchstring seine Dateien eindeutig identifiziert, müsste die "findstr"-Lösung genügen - ganz wohl fühle ich mich aber auch nicht dabei.
Im übrigen wären auch hier wieder ev schon im Zielverzeichnis vorhandene Dateien zu bedenken (ich hatte absichtlich das "/y" beim "move" weggelassen).
Grüße
bastla
Wenn man die vielleicht eher geringe Wahrscheinlichkeit einer abweichenden Einstellung in %DIRCMD% außer Acht lässt, fällt das "/t:w" unter Fleißaufgabe - sehe ich das richtig?
Sofern hilfesuchend sicher ist, dass der Suchstring seine Dateien eindeutig identifiziert, müsste die "findstr"-Lösung genügen - ganz wohl fühle ich mich aber auch nicht dabei.
Im übrigen wären auch hier wieder ev schon im Zielverzeichnis vorhandene Dateien zu bedenken (ich hatte absichtlich das "/y" beim "move" weggelassen).
Grüße
bastla
@bastla
Ich glaube auch nicht, dass es irgendjemand benutzt, der auch Batches oder Tasks am Laufen hat.
Die Seiteneffekte sind doch gar nicht kalkulierbar.
Um ganz ehrlich zu sein, da hab ich vorhin einen Aussetzer gehabt. Natürlich ist dieses "/t:w" gleichbedeutend mit dem Standard. Also überflüssig.
War wohl etwas unkonzentriert, weil Werder Bremen heute gegen Ajax spielt und das lenkt doch ab.
es ist mir einfach zu sehr um die Ecke konstruiert, in eine Datei reinschauen zu wollen, um deren Änderungsdatum festzustellen.
[Also eher ein ästhetisches Problem - so etwas tut man/frau einfach nicht.]
Grüße zurück
Biber
Wenn man die vielleicht eher geringe Wahrscheinlichkeit einer abweichenden Einstellung in %DIRCMD% außer Acht lässt,
Ja, das %DIRCMD% lasse ich eigentlich immer unter den Tisch fallen.Ich glaube auch nicht, dass es irgendjemand benutzt, der auch Batches oder Tasks am Laufen hat.
Die Seiteneffekte sind doch gar nicht kalkulierbar.
... fällt das "/t:w" unter Fleißaufgabe - sehe ich das richtig?
Jepp. Tust Du.Um ganz ehrlich zu sein, da hab ich vorhin einen Aussetzer gehabt. Natürlich ist dieses "/t:w" gleichbedeutend mit dem Standard. Also überflüssig.
War wohl etwas unkonzentriert, weil Werder Bremen heute gegen Ajax spielt und das lenkt doch ab.
Sofern hilfesuchend sicher ist...
Hmm... das hat natürlich auch mit Sicher-Sein-Können zu tun, klar... aber vor allen Dingen:es ist mir einfach zu sehr um die Ecke konstruiert, in eine Datei reinschauen zu wollen, um deren Änderungsdatum festzustellen.
[Also eher ein ästhetisches Problem - so etwas tut man/frau einfach nicht.]
Grüße zurück
Biber
Hallo hilfesuchend!
Zunächst einmal muss ich Dich enttäuschen - mir fällt keine vernünftige Variante ein, um die Suche zu beschleunigen. Würde sich das überhaupt auszahlen (dazu müsstest Du viele große Dateien haben, die das Kriterium nicht erfüllen)?
Auf der anderen Seite: Was spricht eigentlich gegen Biber's auf dem Änderungsdatum basierende Lösung?
Grüße
bastla
Zunächst einmal muss ich Dich enttäuschen - mir fällt keine vernünftige Variante ein, um die Suche zu beschleunigen. Würde sich das überhaupt auszahlen (dazu müsstest Du viele große Dateien haben, die das Kriterium nicht erfüllen)?
Auf der anderen Seite: Was spricht eigentlich gegen Biber's auf dem Änderungsdatum basierende Lösung?
Grüße
bastla