freshman2017
Goto Top

Batch - .csv to .txt

Hallo Ihr,

ich habe da nochmal eine leichte kurze Frage, vielleicht hat da jemand ein Code für mich.

Folgende CSV liegt vor:

TEST1;TEST2;TEST3;TEST4;TEST5;TEST6;TEST7;TEST8;TEST9
0001;30.01.2018;19,46;19,46;0;X546353747;Mustermann;Max;01.01.1900

Ich würde gerne nachfolgende .txt Ausgabe haben wollen:

K;Spalte E (X546353747);Spalte D (19,46);

Nachfolgende habe ich schon:

@echo off &setlocal
set quelle=%userprofile%\Test\test.csv
set ziel=%userprofile%\Test\test.txt
%ziel%  (for /f usebackq skip=1 delims=;" %%a in ("%quelle%") DO <nul set /p "=K;%%e;%%d;")  

Allerdings klappt das nicht so, wie ich es mir vorstelle;, kann mir wer helfen?

Beste Grüße,

freshman2017

Content-Key: 366088

Url: https://administrator.de/contentid/366088

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: it-frosch
it-frosch 26.02.2018 aktualisiert um 16:20:39 Uhr
Goto Top
Hallo freshman2017,

kannst du noch kurz erklären, warum du das so machen willst?
Mit anderen Worten, was ist dein Ziel. (von csv --> txt) mal abgesehen. face-wink

grüße vom it-frosch
Mitglied: freshman2017
freshman2017 26.02.2018 um 16:38:47 Uhr
Goto Top
Der Grund liegt darin, dass nur .txt genutzt werden kann; daher die Wandlung bestimmter .csv Spalten zu .txt
Mitglied: 135333
135333 26.02.2018, aktualisiert am 27.02.2018 um 09:40:58 Uhr
Goto Top
@echo off
powershell -Executionpolicy ByPass -Command "(Import-CSV \"$env:Userprofile\Test\test.csv\" -Delimiter ';' | %%{@('K',$_.TEST5, $_.TEST4) -join ';' }) -join ';'  | sc \"$env:Userprofile\test\test.txt\""  
Gruß Snap
Mitglied: freshman2017
freshman2017 27.02.2018 um 09:22:05 Uhr
Goto Top
Zitat von @135333:

> @echo off
> powershell -Executionpolicy ByPass -Command "Import-CSV \"$env:Userprofile\Test\test.csv\" -Delimiter ';' | %%{@('K',$_.TEST5, $_.TEST4) -join ';' }  | sc \"$env:Userprofile\test\test.txt\""  
> 
Gruß Snap


Danke für Deine schnelle Rückmeldung.

Ich habe es mal angepasst; bekomme jedoch eine Fehlermeldung mit ich gerade nichts anfangen kann:

@echo off
powershell -Executionpolicy ByPass -Command "Import-CSV \"$env:USERPROFILE\Desktop\Skripte\TEST\buchungsbeleg.csv\" -Delimiter ';' | %%{@('K', $_.Rechnungsnummer) -join ';' }  | sc \"$env:USERPROFILE\Desktop\Skripte\TEST\buchungsbeleg.txt\""  
PAUSE

Fehlermeldung:

Import-CSV : Das Element "Betrag" ist bereits vorhanden.  
In Zeile:1 Zeichen:1
+ Import-CSV "$env:USERPROFILE\Desktop\Skripte\TEST\buchungsbeleg.csv"  ...  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Import-Csv], ExtendedTypeSystemException
    + FullyQualifiedErrorId : AlreadyPresentPSMemberInfoInternalCollectionAdd,Microsoft.PowerShell.Commands.ImportCsvC
   ommand
Mitglied: 135333
135333 27.02.2018 aktualisiert um 09:32:44 Uhr
Goto Top
Zwei Spalten mit dem selben Namen = Not allowed ...
Mitglied: freshman2017
freshman2017 27.02.2018 um 09:38:32 Uhr
Goto Top
Zitat von @135333:

Zwei Spalten mit dem selben Namen = Not allowed ...

Ich danke Dir, habe ich eben schon gesehen, kurz nachdem ich den POST abgeschickt habe face-sad

Allerdings gab es doch einen Befehl; dass er keine Absätze einfügen soll, oder?

Ich habe nämlich eine Ausgabe:

K;2957
K;2958
K;2959
K;2960
K;2961
K;2962
K;2963
K;2964
K;2965

Würde allerdings gerne folgende Ausgabe haben wollen:

K;2957;K;2957;K;2957;K;2957;K;2957;K;2957;
Mitglied: 135333
Lösung 135333 27.02.2018 aktualisiert um 09:42:32 Uhr
Goto Top
Stichwort -join face-wink, s. Anpassung oben.

Warum schreibt man so was nicht direkt in den ersten Post face-sad??

Und tschüss
Mitglied: freshman2017
freshman2017 27.02.2018 aktualisiert um 09:54:12 Uhr
Goto Top
Zitat von @135333:

Stichwort -join face-wink, s. Anpassung oben.

Warum schreibt man so was nicht direkt in den ersten Post face-sad??

Und tschüss

Eine Frage noch, wie mache ich es denn, wenn ich als letztes Zeichen das ";" haben möchte?

K;2957;K;2957;K;2957;K;2957;K;2957;K;2957;
Mitglied: 135333
135333 27.02.2018 um 10:01:52 Uhr
Goto Top
Das lass ich dir als Hausaufgabe , sollst ja auch was davon lernen face-wink.
Mitglied: freshman2017
freshman2017 27.02.2018 um 10:20:02 Uhr
Goto Top
Zitat von @135333:

Das lass ich dir als Hausaufgabe , sollst ja auch was davon lernen face-wink.

Hast Du da ein Tipp für mich?
Mitglied: 135333
135333 27.02.2018 aktualisiert um 10:21:22 Uhr
Goto Top
Klar
+ ';'