Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Auf voherigen Tag zugreifen

Frage Entwicklung Batch & Shell

Mitglied: Joe.Baer

Joe.Baer (Level 1) - Jetzt verbinden

05.06.2013 um 18:09 Uhr, 1134 Aufrufe, 2 Kommentare

Hallo zusammen,
leider finde ich nicht das was ich suche.
Ich erstelle jeden Tag mit einer batch-Datei eine .txt Datei.
Die Dateien haben immer das Tagesdatum bei der Erstellung:

set mydate=%date:~-4%-%date:~-7,2%-%date:~-10,2%

set "datei2=%mydate% xxxxx.txt"
if exist "%datei2%" move "%datei2%" "%datei2%.bak"
echo %mydate% %mytime% %1 >"%datei2%"
if exist "%datei2%.bak" type "%datei2%.bak">>"%datei2%"

Dies ist auch soweit in Ordnung.

Jetzt möchte ich einen Tag später auf die Datei zugreifen und diese in einen Ordner verschieben. Wie kann ich dies realisieren bzw. wie kann ich af die Datei zugreifen?

Dank & Gruß Joe.Baer
Mitglied: Biber
05.06.2013, aktualisiert um 19:00 Uhr
Moin Joe Baer,

willkommen im Forum.

Der CMD-Befehlsumfang beinhaltet ja nun leider nix, was in Richtung "Datumsarithmetik" geht - es gibt schlicht und einfach keinen Datentyp "Datum/Zeit" im Befehlsinterpreter.

Also musst du hier Umwege gehen und dazu kannst du über unsere Suchfunktion einige Varianten finden.

Mogliche Lösungsstrategie a)
Die CMD.exe kennt zwar kein "Datum" und daher auch kein "gestern" oder "morgen", aber mit verfügbaren Standardtools wie VBScript/JScript können das durchaus. Ein VBScript kannst du aus der Batchdatei heraus temporär erzeugen, aufrufen und das Ergebnis für deine Zwecke verarbeiten. Suche mal nach "gestern.vbs" oder "yesterday.vbs" hier in der Forumssuche.

Mögliche Strategie b)
Die "gestern" erzeugte Datei, die verschoben werden soll, ist ja immer die "jüngste" Datei (mit der Namenskonvention "201?-??-?? xxxxx,txt", Die Datei(en) kannst du mit dem "DIR /od"-Befehl nach Datum sortiert anzeigen lassen und mit einer FOR-Anweisung die jüngste/älteste rausflöhen. Suche dazu nach "neueste Datei/älteste Datei"

Mögliche Alternativ-Strategie)
Verzichte auf den Datumsstempel im Dateinamen - mache es stattdessen über einen Zähler, eine laufende Nummer im Dateinamen,
Von Dateien der Konvention "Log_1024.txt", "Log_1025.txt, ..." (oder allgemein: von namensbezogen eindeutig sortierbaren Dateien) kannst du immer die letzte vorhandene und die nächste freie ermitteln (oder "berechnen").

Grüße
Biber
Bitte warten ..
Mitglied: Endoro
05.06.2013 um 21:48 Uhr
Hi Joe.Baer,

wie von Biber schon augeführt, gibts in cmd keine Funktion Date2Number. Wenn du also bei deinem Arbeitspfad bleiben möchtest, musst du diese Funktion selbst implementieren.

Dazu benötigst du zu aller erst einen Anker im Ozean der Zeit. Von diesem Fixpunkt an beginnst du einfach die Tage zu zählen, denn die brauchst du ja. Nun kannst du bequem das Datum in Tage umrechnen. Die Wahl des Fixpunktes bleibt dir überlassen, anbieten würden sich Kaisers Geburtstag oder der Hochzeitstag der Grossmutter

Wenn du keinen gesteigerten Wert darauf legst, den Nullpunkt selbst festzulegen, kannst du natürlich auf eine Funktion aus dem Netz zurückgreifen. Ich jedenfalls greife mir dann gern diese.

Gruss!
Bitte warten ..
Ähnliche Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (34)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Monitoring
gelöst Wireshark: Anzeige von VLAN-Tags (2)

Frage von honeybee zum Thema Monitoring ...

Windows 10
Datum verstellt sich um paar Tage nach vorn (6)

Frage von Harlin zum Thema Windows 10 ...

Windows Server
gelöst Dateien in einem Ordner nach XY Tagen löschen (3)

Frage von Adnan88 zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(8)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Datenschutz

Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht

(1)

Information von BassFishFox zum Thema Datenschutz ...

Firewall

PfSense OpenVPN beschleunigen

Tipp von Dobby zum Thema Firewall ...

Utilities

CCleaner 5.33 mit Malware infiziert

(27)

Information von SeaStorm zum Thema Utilities ...

Heiß diskutierte Inhalte
Utilities
CCleaner 5.33 mit Malware infiziert (27)

Information von SeaStorm zum Thema Utilities ...

Festplatten, SSD, Raid
gelöst Problem mit DELL 815R Server und Windows Bluescreen (24)

Frage von Leo-le zum Thema Festplatten, SSD, Raid ...

Windows Systemdateien
Windows bootet nicht mehr Fehlermeldung 0xc0000098 (19)

Frage von franzgoerlich zum Thema Windows Systemdateien ...

Windows Netzwerk
Dateien mit Intelligenz per GPO ins Programmverzeichnis (14)

Frage von erwin.t zum Thema Windows Netzwerk ...