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, 765 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:
01.
Set /a JJ1=%D-2000
02.
Set /a JJ2=%G-2000
03.
ECHO %JJ1%
04.
ECHO %JJ2%
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


01.
FOR /F "SKIP=1 TOKENS=1-8 DELIMS=.;" %A IN (Dateiname.CSV) DO @ECHO %A %B %C %D %E %F %G %H
02.
echo %A% %B% %C% %D:~2,2% %E% %F% %G% %H%
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
01.
C:\Users\Biber>setlocal enabledelayedExpansion & FOR /F "TOKENS=1-8 DELIMS=.;" %A IN ("1234567;24.02.2018;10.03.2018;XY") DO @(set /a jj1=%D-2000) &(Set/a jj2=%G-2000) &@ECHO %A %B %C %JJ1% %E %F %JJ2% %H
02.
18181234567 24 02 18 10 03 18 XY
Im Batch dann optisch auf ein paar Zeilen auseinandergezogen:
01.
@echo off & setlocal enabledelayedExpansion 
02.
FOR /F "Skip=1 TOKENS=1-8 DELIMS=.;" %%A IN (Dateiname.csv) DO (
03.
  set /a jj1=%%D-2000
04.
  Set/a jj2=%%G-2000
05.
  ECHO %%A %%B %%C %JJ1% %%E %%F %JJ2% %%H
06.
)
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

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 ...

TK-Netze & Geräte

Faxen im Jahr 2018 - Erfahrungen

gelöst Frage von hesperTK-Netze & Geräte9 Kommentare

Moin zusammen! Branchenbedingt sind wir ein "Papierunternehmen", sprich es wird am liebsten alles auf Papier festgehalten und versendet. Das ...

JavaScript

Jahr automatisch aktualisieren per Javascript

Frage von imebroJavaScript17 Kommentare

Ich habe in einem ausfüllbaren PDF-Dokument, welches ich mit "Adobe XI Pro" erstellt habe, ein Dropdownfeld, wo eine Jahreszahl ...

Neue Wissensbeiträge
Python

Sie meinen es ja nur gut - Microsoft hilft python-Entwicklern auf unnachahmliche Weise

Information von DerWoWusste vor 1 TagPython2 Kommentare

Stellt Euch vor, Ihr nutzt python unter Windows 10 und skriptet damit regelmäßig Dinge. Nach dem Update auf Windows ...

Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 steht in Englisch bereit mit Unterstützung für Windows 10 1903 (May Update)

Information von VGem-e vor 1 TagSicherheits-Tools1 Kommentar

Moin Kollegen, Dann kommt wohl demnächst auch die deutschsprachige/europäische Version zur Auslieferung. Gruß VGem-e

Batch & Shell
PowerShell Konferenz - Videos online
Information von NetzwerkDude vor 2 TagenBatch & Shell

Abend, die Tage werden Videos der Talks von der diesjährigen EU Powershell Konferenz hochgeladen, sind einige Interessante dabei: MFG ...

Windows Update

Windows 10 1903 Updates über Wsus erst nach Auswahl weiterer Produktkategorie

Information von Spirit-of-Eli vor 3 TagenWindows Update6 Kommentare

Moin, den Tipp habe ich hier noch nicht gesehen. Er adressiert all diejenigen, die Windows 10 1903 über einen ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Unerklärlicher Gestank im EDV-Raum - "neues" Gebäude und keine offenkundige Ursache feststellbar!
Frage von VGem-eErkennung und -Abwehr29 Kommentare

Moin Kollegen, ich habe seit heute Morgen das Problem, dass in unserem EDV-Raum ein total unerklärbarer Gestank herrscht! Ich ...

Verschlüsselung & Zertifikate
Bitlocker oder Veracrypt unter Win10? Was ist hinsichtlich Performance, Sicherheit, Backup und Kompatibilität besser?
Frage von PluwimVerschlüsselung & Zertifikate23 Kommentare

Guten Morgen, bei mir wird demnächst eine neue Platte fällig, weil ich mein Win7-System auf Win10 umstellen will. D.h. ...

LAN, WAN, Wireless
Warum ist die Datenübertragung per WLAN zu bestimmten Servern sehr langsam?
gelöst Frage von PluwimLAN, WAN, Wireless20 Kommentare

Hallo Netzwerker, beim Einrichten des Notebooks für einen Bekannten fiel mir auf, dass Downloads per WLAN teilweise extrem lahm ...

Router & Routing
Microsoft Server: Kopierlast auf bestimmte NIC legen für Backup
gelöst Frage von LollipopRouter & Routing15 Kommentare

Guten Tag Mit zwei Servern machen wir eine einfache Datenspiegelung als Teil unseres Backup-Systems. Dazu wünsche ich mir einen ...