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
GELÖST

Text in Dateien finden u. dann verschieben

Frage Entwicklung Batch & Shell

Mitglied: hilfesuchend

hilfesuchend (Level 1) - Jetzt verbinden

22.02.2007, aktualisiert 23.02.2007, 4839 Aufrufe, 10 Kommentare

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.
Mitglied: bastla
22.02.2007 um 16:12 Uhr
Hallo hilfesuchend und willkommen im Forum!

Versuch es vielleicht einmal so:
01.
for /f "delims=" %%i in ('findstr /m "200701" G:\Desktop\Test\*.*') do move "%%i" X:\Zielverzeichnis
Die Schreibweise mit %%i ist für Batch gedacht, zum Testen von der Kommandozeile nur %i verwenden.

HTH
bastla
Bitte warten ..
Mitglied: Biber
22.02.2007 um 16:22 Uhr
Moin hilfesuchend,

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
Bitte warten ..
Mitglied: hilfesuchend
22.02.2007 um 17:03 Uhr
Hallo Ihr Lieben,

ich kann Euch garnicht sagen wie dankbar ich für Eure schnelle Hilfe bin. Das klappt wie am Schnürrchen. Endlich kann ich mich anderen angehäuften Arbeiten widmen.

Das mit dem VBA Skript ist wirklich nett. Nur leider hab ich an der Stelle nur die Batch Möglichkeit.

Ich werde das Ding dann morgen mal zu produktiven Tests nutzen u. mich dann auf jeden Fall nochmal melden, sollte ich doch noch mal in die Not geraten die Abfrage nach dem Datum als Batch zu brauchen. Also auf jeden Fall Danke, Danke, Danke, Danke, Danke.

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?
Bitte warten ..
Mitglied: Biber
22.02.2007 um 17:44 Uhr
Moin hilfesuchend,
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
Bitte warten ..
Mitglied: Biber
22.02.2007 um 18:58 Uhr
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:
01.
>for /f "tokens=3*" %i in ('dir /a-d /t:w *.*^|find ".01.2007"') do @move /y "%j" X:\Zielverzeichnis 
02.
-bzw. in einem Batch-  
03.
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
Bitte warten ..
Mitglied: bastla
22.02.2007 um 20:45 Uhr
@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
Bitte warten ..
Mitglied: Biber
22.02.2007 um 22:41 Uhr
@bastla

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
Bitte warten ..
Mitglied: hilfesuchend
23.02.2007 um 19:25 Uhr
Hallo, hallo an die schnellsten Helfer die ich kenne,

also hat alles soweit super geklappt. Bin mir auch sicher, das diese Zeile ausreicht. Jetzt hab ich aber noch eine kleine Frage. Ihr müsst schon echt entschuldigen, aber ich bin wirklich sowas von Anfänger. Wie kann ich die Suche, der Schnelligkeit halber, auf die erste Zeile beschränken? Das soll dann auch die letzte Belästigung an Euch sein. Ich bin Euch zu grösstem Dank verpflichtet
Bitte warten ..
Mitglied: hilfesuchend
23.02.2007 um 19:25 Uhr
Hab da etwas gelogen, ich werde Eure Hilfe ja vielleicht irgendwann noch mal brauchen. Also vielleicht ist das doch nicht die letzte Belästigung
Bitte warten ..
Mitglied: bastla
23.02.2007 um 23:33 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...