Top-Themen

Aktuelle Themen (A bis Z)

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 Batch für DS von Daten mit fortlaufender Nummer

Mitglied: minicoop

minicoop (Level 1) - Jetzt verbinden

16.01.2008, aktualisiert 15:40 Uhr, 6790 Aufrufe, 7 Kommentare

Hallo,

folgende annahme:
im verzeichnis c:\test liegen jede menge edi dateien mit dem namen import_fortlaufendernummer.edi mit dem erstellungsdatum als sortierung.
diese sollen dann in jjjj\mm jeweils am ende vom monat weggemoved werden.
die verzeichnisanlegerei bekomme ich noch hin,
if exist c:\test\*.dat FOR /F "usebackq eol=; tokens=2,3,4* delims=. " %%i in (`Date /T`) do if not exist .\%%k mkdir .\%%k
if exist c:\test\*.dat FOR /F "usebackq eol=; tokens=2,3,4* delims=. " %%i in (`Date /T`) do if not exist %%k\%%j mkdir %%k\%%j
leider hängt es bei mir momentan an der erkennung vom datum für die entsprechenden dateien.
in dem verzeichnis sind pro monat ca 30000 dateien, und jedesmal wenn ich was suchen möchte, braucht der eine ewigkeit bis der mal
das verzeichnis anzeigt. deswegen die aufräumaktion.

wäre super wenn jemand mir da weiterhelfen könnte.
Mitglied: bastla
16.01.2008 um 12:08 Uhr
Hallo minicoop!

Versuch es mal so:
01.
for %%i in (C:\Test\import_*.edi) do for /f "tokens=2,3* delims=. " %%a in ("%%~ti") do echo move %%i %%b\%%a\
Das "echo" vor dem "move" sorgt dafür, dass der Verschiebebefehl (zum Testen) nur angezeigt, aber nicht ausgeführt wird.

Zum Erstellen der Ordner noch ein Hinweis: Es genügt eigentlich
01.
if exist c:\test\*.dat FOR /F "tokens=2,3,4* delims=. " %%i in (`Date /T`) do if not exist %%k\%%j md %%k\%%j
da der "Jahresordner" dabei automatisch erstellt wird.

Grüße
bastla

[Edit] Unter W2000 wird die Jahreszahl (%%b) nur zweistellig ausgegeben und muss daher durch ein vorangestelltes 20 ergänzt werden. [/Edit]
Bitte warten ..
Mitglied: minicoop
16.01.2008 um 13:16 Uhr
Hallo Bastla,

funktioniert wunderbar.
Wusste nicht das man das auch in einer for schleife abarbeiten lassen kann.

vielen dank.

aber woher holt dieser das datum herbei? %%~ti ?
den schritt habe ich nicht ganz verstanden...

kann man theoretisch hier auch hingehen und sagen alles was älter ist wie eine woche soll er in die entsprechenden ordner verschieben ?
Dann würde ich das jede woche ablaufen lassen und die menge wäre dann nicht zu viel..


Gruss
Nedim
Bitte warten ..
Mitglied: Biber
16.01.2008 um 14:38 Uhr
Moin Nedim,

kann man theoretisch hier auch hingehen und sagen alles was älter ist wie eine woche soll er in die entsprechenden ordner verschieben ?
Ja, theoretisch schon... haben wir hier im Forum auch schon ein paarmal gemacht.
Allerdings wird es dann mit Batch-Mitteln etwas hakelig (wie man/frau in Bremen so sacht), weil die CMD.exe nicht mit Datumswerten (Datumsdifferenzen) "rechnen kann.

Deshalb
a) prüfen, ob auch einmal im Monat statt einmal pro Woche für diesen Batchjob akzeptabel wäre. Denn die Vergleichsmöglichkeiten mit "Monat" und "Jahr" hast Du ja/nutzt Du ja bereits.
b) kannst Du natürlich noch eine Datum-älter-als-Prüfung einbauen über einen VBS-Skript-Aufruf.
Dazu findest Du wie geschrieben eine Menge Beispiele hier im Forum (Suchfunktion "Dateien älter als")
c) Drittens könntest Du auch von einem schnelleren Utility (z.B. mit "XCopy /L") eine Liste aller Dateien älter als whatever erzuegen lassen und diese abarbeiten statt den kompletten Verzeichnisinhalt.

Bitte stöbere erst versuchsweise hier in den vorhandenen Lösungen - solltest Du dort nichts finden, dann melde Dich nochmals hier.

Grüße
Biber
Bitte warten ..
Mitglied: minicoop
16.01.2008 um 14:58 Uhr
hallo biber,

danke für die info.
bin eben beim ausprobieren über folgenden fehler gestossen..
beim ausführen der zeile
if exist c:\test\*.dat FOR /F "tokens=2,3,4* delims=. " %%i in (`Date /T`) do if not exist %%k\%%j md %%k\%%j
kommt auf einmal die fehlermeldung
Die Datei "`Date" kann nicht gefunden werden.

schonmal gesehen ?

very mysteriös...
Bitte warten ..
Mitglied: Biber
16.01.2008 um 15:06 Uhr
Moin Nedim,

dann entweder die "einfachen" Anführungszeichen nehmen:

FOR /F "tokens=2,3,4* delims=. " %%i in ('Date /T') do ...
-oder auf die Variable %date% zugreifen:
FOR /F "tokens=2,3,4* delims=. " %%i in ("%date%") do ..
- oder wieder den Schalter "usebackq" wie ganz oben einbauen.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
16.01.2008 um 15:30 Uhr
Hallo minicoop!

Scheint so, als wären die Hochkommata in `Date /T`auf "typographisch" geändert worden - eigentlich sollten sie so
aussehen ... (Das war jetzt die kürzeste Code-Zeile, die ich hier je gepostet habe. )

Noch als Nachtrag:
aber woher holt dieser das datum herbei? %%~ti ?
Infos zu "~t" (und ein paar anderen Möglichkeiten) findest Du gegen Ende der Hilfe zu "for" (for /?)

Grüße
bastla
Bitte warten ..
Mitglied: minicoop
16.01.2008 um 15:40 Uhr

premiere..
ich sag mal vielen dank an alle.
habt mir sehr weitergeholfen.

Gruss
Nedim
Bitte warten ..
Ähnliche Inhalte
JavaScript

Fortlaufende Nummer für Textfeld im PDF Dokument

Frage von xXEddiXxJavaScript15 Kommentare

Hallo, ist es möglich in einem PDF-Dokument ein Textfeld einzufügen welches bei jedem öffnen oder optimalerweise nach jedem speichern ...

Batch & Shell

Daten kopieren und umbenennen fortlaufend numerisch

Frage von QuercusBatch & Shell1 Kommentar

Hallo Gemeinde, eine Frage zu dem Batch code. Funktion des Codes: aus C:\test\Ziel werden bestehende *.jpg durchsucht und anhand ...

Batch & Shell

Batch, Suche der Nummer in der Datei!

Frage von SportiiiBatch & Shell8 Kommentare

Hallo, mir wurde bereits durch jodel32 sehr geholfen es fehlt nur ein kleines Stück: Folgendes: Wenn ich eine Nummer ...

Batch & Shell

(Batch) Nummern vergleichen

gelöst Frage von clragonBatch & Shell3 Kommentare

ich weiss, dummes Problem, aber Ich finde nichts auf Google. Also ich habe eine FOR schleife die bei jedem ...

Neue Wissensbeiträge
Microsoft

Neuigkeiten zu Server und Office 365 was läuft mit was und was nicht

Tipp von AlFalcone vor 14 StundenMicrosoft

Server Betriebssysteme auf dem die verschiedenen Offices nicht supported sind: • Office 365 ist und wird nicht supported auf Windows ...

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 15 StundenSpeicherkarten1 Kommentar

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 17 StundenSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 1 TagHardware1 Kommentar

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Windows 10
Sysprep Fehler im Log kann nicht starten
Frage von grillinator95Windows 1022 Kommentare

Hallo, kann leider SYSPREP nicht mehr starten, Win10 64bit. Logfile sagt folgendes: 2018-10-17 13:44:56, Info SYSPRP 2018-10-17 13:44:56, Info ...

Sicherheitsgrundlagen
EuGH-Urteil - Internetanschluss für die ganze Familie - Filesharer haften trotzdem
Frage von StefanKittelSicherheitsgrundlagen19 Kommentare

Hallo, In diesem Artikel geht es darum, dass Jemand aus der Familie ein Hörbuch illegal hochgeladen hat. Der Vater ...

Apple
MacBook Pro 2018 mit 8 GB oder 16 GB
Frage von SysAdm81Apple14 Kommentare

Hallo zusammen, ich steh vor der Überlegung mir ein MacBook Pro 13 (2018) zu kaufen. Bzgl. SSD habe ich ...

Outlook & Mail
Outlook schiebt Mails aus Posteingang sofort in den Papierkorb
Frage von hermesOutlook & Mail13 Kommentare

Hallo Outlook Fachleute, wir haben hier das Problem, dass Outlook 2010 alle ankommenden Mails seit zwei Tagen einfach in ...