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

Batch Stringverarbeitung

Frage Entwicklung Batch & Shell

Mitglied: tonymo

tonymo (Level 1) - Jetzt verbinden

10.03.2010 um 19:12 Uhr, 4399 Aufrufe, 3 Kommentare

Hallo,
ich bin relativ neu auf dem Gebiet der der Batch-Programmierung.

Ich suche etwas, womit ich ein Datum in eine andere Schreibweise bringen kann.
Ausgangssituation ist eine TXT-Datei in der lediglich ein Datum steht z.B. 24.02.2010
Als nächster Schritt sollen alle Punkte entfernt werden. -> 24022010
Zum Schluss soll noch die Reihenfolge der Daten geändert werden. von TTMMJJJJ auf JJJJMMTT
Am Ende soll es also so aussehen, dass in meiner TXT-Datei nur noch 20100224 steht.

Für Tipps wie ich die ganze Sache verwirklichen soll wäre ich sehr dankbar.
Mitglied: 60730
10.03.2010 um 22:56 Uhr
moin,

zu dem Thema hat "uns" Biber ein wunderbares Tut (Anleitung) hier hinterlegt..

Die gehört zur Pflichtlektüre nicht nur für werdende Bätchler.

Gruß
Bitte warten ..
Mitglied: tonymo
11.03.2010 um 09:03 Uhr
Danke für deine Antwort!
Nach ein wenig lesen im Tut haben ich mich für eine simple, wenn auch nicht dynamische Lösung entschieden.
01.
set /p "datum="<"MeineDatei.txt" 
02.
set TT=%datum:~0,2% 
03.
set MM=%datum:~3,2% 
04.
set JJJJ=%datum:~6,4% 
05.
set datum=%JJJJ%%MM%%TT%
Bitte warten ..
Mitglied: Biber
11.03.2010 um 09:57 Uhr
Moin tonymo,

grundsätzliches Jein zu deiner (erstmal funktionierenden) Lösung.
Die Zerlegung von Datums/Zeitstrings mit Substring-Funktionen halte ich für die unzuverlässigste Variante.
Wie im Tut lang und breit ausgeschmückt, kann der geneigte DAU die Datumsformatierung wissentlich und unwissentlich über Länder-/Sprach-/usereigene Einstellungen ändern und jeder gatesverdammte Windowsrechner kann ein anderes Datumsformat anzeigen.

Ein Kompromiss (etwas sicherer, aber nicht so verschnörkelt wie im Tut) wäre:
[Demo am CMD-Prompt; führendes ">" ist mein Prompt:
01.
> set "mydatum=24.02.2010" 
02.
> for /f "delims=. tokens=1-3" %i in ("%mydatum%") do set "MyTT=%i" & set "myMM=%j" &set "myJJ=%k" 
03.
 
04.
>set my 
05.
mydatum=24.02.2010 
06.
myJJ=2010 
07.
myMM=02 
08.
MyTT=24
Du kannst deine Variante natürlich auch so lassen wie sie ist, aber dann solltest du um die Anfälligkeit der Substring-Klamotte wissen.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch bestimme Zeile einer vorherigen batch einfügen (3)

Frage von Frensche zum Thema Batch & Shell ...

Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
Batch kehrt zur Sprungmarke zurück, obwohl es pingen soll? (2)

Frage von Brotkasten zum Thema Batch & Shell ...

Batch & Shell
Maximale Größe zu verarbeitender txt-Dateien mit Batch (5)

Frage von Muck1303 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (19)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (19)

Frage von oel-auge zum Thema Router & Routing ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...