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 Zweistelliges Jahr aus vorgegeben vierstelligen Jahr aus Textdatei

Mitglied: Fahrrad

Fahrrad (Level 1) - Jetzt verbinden

18.09.2017 um 11:43 Uhr, 1096 Aufrufe, 9 Kommentare

Hallo und guten Morgen

ich habe eine CSV-Datei, die Daten im folgenden Format enthält in vielen Zeilen enthält:

1234567;24.02.2018;10.03.2018;XY

Ich muß die Daten in folgendes Format umbauen:

1234567 24.02.1810.03.18XY

Ich kann mir über

FOR /F "SKIP=1 TOKENS=1-8 DELIMS=.;" %A IN (Dateiname.CSV) DO @ECHO %A %B %C %D %E %F %G %H

schon mal die einzelnen Bruchstücke auflisten lassen:

1234567 24 02 2018 10 03 2018 XY

Jetzt muß nur noch %D und %H von vierstelliges Jahr auf zweistelliges Jahr reduziert werden, aber da habe ich mein Problem, welches ich nicht gelöst bekomme, danach könnten alle Variablen passend zusammengeschrieben werden.

Kann mich jemand aufschlauen, wie ich die Jahreszahl innerhalb der For-Schleife reduzieren kann?

Vielen Dank & viele Grüße
Fahrrad
Mitglied: SeaStorm
18.09.2017, aktualisiert um 12:07 Uhr
mit %D:~2,2% würdest du in dem Fall an die "18" in "2018" kommen
Bitte warten ..
Mitglied: em-pie
LÖSUNG 18.09.2017, aktualisiert um 12:13 Uhr
Moin,

rechnen kannst du, indem du folgendes machen tätest:
Du musst in deiner FOR-Schleife dann halt nur mit Klammern arbeiten

Gruß
em-pie

P.S. oder die Variante des KollegenSeaStorm
Bitte warten ..
Mitglied: Fahrrad
18.09.2017 um 12:15 Uhr
hallo Seastorm,

den gleichen Ansatz hatte ich schon probiert, bekomme dann aber als Ausgabe 2018:~2,2% und nicht wie erwünscht nur die 18

Trotzdem vielen Dank
Fahrrad
Bitte warten ..
Mitglied: SeaStorm
18.09.2017, aktualisiert um 12:21 Uhr
machst du das in der FOR-Zeile? Das geht nicht.
Aber anstatt danach dann nur %D% zu schreiben, schreibst du %D:~2,2% und erhälst die korrekte ausgabe.
Also "%D:~2,2%" da verwenden, wo du deine CSV neu zusammenbaust


sollte in sowas wie

1234567 24 02 18 10 03 2018 XY

enden
Bitte warten ..
Mitglied: Biber
LÖSUNG 18.09.2017, aktualisiert um 13:10 Uhr
Moin Fahrrad,

Laufvariablen der FOR-Anweisung lassen sich nicht mit den Teilstring-Funktionen auswerten; das geht nur mit Variablen, die auch mit SET definiert wurden.
Und wenn innerhalb einer FOR-Anweisung Variablen gesetzt UND ausgelesen/manipuliert werden sollen, dann muss zusätzlich mit "setlocal enableDelayedExpansion" gewerkelt werden.

Beispiel/proof-of-concept am CMD-Prompt
Im Batch dann optisch auf ein paar Zeilen auseinandergezogen:
Grüße
Biber
Bitte warten ..
Mitglied: Fahrrad
18.09.2017 um 12:38 Uhr
Hallo Seastorm,

ich bekomme trotzdem nur die Ausgabe 2018:~2,2%, wenn ich folgende Kommandozeile ausführe

FOR /F "SKIP=1 TOKENS=1-8 DELIMS=.;" %A IN (Dateiname.CSV) DO @ECHO %A %B %C %D %E %F %G %H&echo %A% %B% %C% %D:~2,2% %E% %F% %G% %H%

1234567% 24% 02% 2018:~2,2% 10% 03% 2018% XY% und zu viele Prozente bei den anderen Variablen

Vielen Dank
Fahrrad
Bitte warten ..
Mitglied: SeaStorm
18.09.2017 um 12:45 Uhr
siehste mal wie schnell man das verlernt Verwende seit einiger Zeit kein Batch mehr und mache alles in Powershell.
hast natürlich recht...
Bitte warten ..
Mitglied: Fahrrad
18.09.2017 um 13:32 Uhr
Hallo Biber,

ich habe Deinen Beitrag zu spät gesehen..... Vielen Dank :o)

Dein proof-of-concept am CMD-Prompt funktioniert tadellos, nur meine Umsetzung in der Batch liefert weder JJ1 noch JJ2

@echo off & setlocal enabledelayedExpansion
FOR /F "TOKENS=1-8 DELIMS=.;" %%A IN (Dateiname.csv) DO (
Set /a JJ1=%%D-2000
Set /a JJ2=%%G-2000
ECHO %JJ1%
ECHO %JJ2%
REM ECHO %%A %%B %%C %JJ1% %%E %%F %JJ2% %%H
)
PAUSE

sondern nur
ECHO ist ausgeschaltet (OFF).
ECHO ist ausgeschaltet (OFF). usw.

d.h. JJ1 und JJ2 werden nicht definiert

Viele Grüße
Fahrrad
Bitte warten ..
Mitglied: Fahrrad
18.09.2017 um 13:41 Uhr
Aber mit ! anstelle % geht es.......

Vielen Dank an alle Beteiligten :o)
Bitte warten ..
Ähnliche Inhalte
Off Topic
Ein frohes neues Jahr
Information von LochkartenstanzerOff Topic6 Kommentare

wünsche ich Euch allen. Bleibt gesund und laßt Euch nicht stressen. Es gibt wichtigeres als die İT. :-) lks

Rechtliche Fragen
Lizenzfrage VMWare 1 Jahr Subcription
gelöst Frage von EDVMan27Rechtliche Fragen6 Kommentare

Hallo, mit Lizenzen habe ich eher nichts zu tun. Mir ist nur gerade etwas aufgefallen. Bei einem kleinem Kunden ...

Outlook & Mail

Datenmenge in Outlook pro Jahr ermitteln?

gelöst Frage von StefanKittelOutlook & Mail4 Kommentare

Hallo, was mir gerade durch den Kopf geht. Kann man die Datenmenge in Outlook pro Jahr ermitteln? Es handelt ...

Exchange Server

Neues Zertifikatsanfoderung Gültigkeit 1 Jahr

gelöst Frage von zeroblue2005Exchange Server2 Kommentare

Hallo Zusammen, ich bin ein wenig irritiert. Habe gestern für meinen Exchange 2016 eine neue Zerti. Anfoderung erstellt. Die ...

Neue Wissensbeiträge
Internet

Aktuelle Netzauslastung in Deutschland durch die Covid-19-Pandemie

Information von Frank vor 13 StundenInternet6 Kommentare

Viele Bürger fragen sich, ob die Telekommunikationsnetze während der Covid-19-Pandemie der verstärkten Internetnutzung durch Home Office, eLearning, Videostreaming und ...

iOS

iOS-Bug unterbindet vollständiges VPN-Tunneling

Information von transocean vor 2 TageniOS

Moin, seit dem letzten Update hat iOS für iPhone und iPad ein Problem mit der Verschlüsselung. Lest selbst. Grüße ...

Sicherheit
Corona Malware über manipulierte Router
Information von sabines vor 2 TagenSicherheit

Heise berichtet über Malware, die in Zusammenhang zum Suchethema Corona steht und über DNS Einstellungen bei D-Link und Linksys ...

Windows 10
Windows 10 Update KB4535996 fehlerhaft
Information von Frank vor 2 TagenWindows 101 Kommentar

Laut Microsoft ist das Update KB4535996 die Ursache für aktuelle Verbindungsprobleme bei Virtual Private Networks (VPNs). Microsoft arbeitet bereits ...

Heiß diskutierte Inhalte
KVM
Best Practice für Fileserver auf Proxmox Cluster
gelöst Frage von maichelmannKVM17 Kommentare

Hallo, derzeit laufen in einer Firma, dessen Netzwerk ich betreue, zwei Windows Server Hyper-V Hosts, jeweils mit einem recht ...

Windows Server
DNS Problem Server 2019 unter Win10 Host
Frage von Ketme10Windows Server16 Kommentare

Guten Tag zusammen. Ich bräuchte mal Hilfe. Ich habe Win 10 und Hyper V laufen. Hier habe ich 4 ...

Firewall
PfSense und VLANs mit LAGG
Frage von unique24Firewall13 Kommentare

Hallo, ich habe ein Mikrotik Switch Netzwerk welches über 2 LWL an die pfSense angeschlossen ist pfSense: ixl2 = ...

TK-Netze & Geräte
Netphone APP nimmt kein Kontakt auf
Frage von Finchen961988TK-Netze & Geräte12 Kommentare

Hallo, ich kämfpe mit einem Problem im Bereich Netphone und der Mobil APP. Bei einem Kunden habe ich eine ...