freshman2017
Goto Top

Bestimmte Spalten aus TXT in CSV kopieren - ab Spalte AE gibt es Übertragungsfehler

Hallo,

ich versuche mit nachfolgendem Batch Spalten in TXT zu übernehmen.
Wenn ich die Spalte %%ae übernehmen möchte, gibt er diese nicht mit aus.
Kann mir jemand verraten, woran es liegt?

@echo off &setlocal
set "quelle=%userprofile%\Desktop\csv--%Date%.csv"  
set "ziel=%userprofile%\Desktop\csv--%Date%.txt"  
>>"%ziel%" (for /f "usebackq skip=1 delims=;" %%a in ("%quelle%") DO <nul set /p "=%%a;%%ae;1;")  

Content-Key: 339555

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

Printed on: April 25, 2024 at 09:04 o'clock

Mitglied: 133417
133417 Jun 01, 2017 at 14:01:57 (UTC)
Goto Top
Es gibt nur a-z und A-Z :-P, das ist kein Excel face-big-smile

Gruß v.
Member: freshman2017
freshman2017 Jun 01, 2017 at 14:06:46 (UTC)
Goto Top
Gibt es da mit Powershell nen Lösungsansatz?
Mitglied: 133417
133417 Jun 01, 2017 updated at 18:36:35 (UTC)
Goto Top
Klar, Import-CSV ...
$csvobject = Import-CSV 'c:\myfile.csv' -delimiter ';'  
$csvobject | %{
    $_.'Spaltenname'  
}
Hier lesen
https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powe ...

Irgendwie sind sich diese beiden Threads sehr ähnlich ...
TXT Datei bleibt nach Erstellung leer - woran liegt es?
Woher das wohl kommen mag face-smile.
Member: freshman2017
freshman2017 Jun 02, 2017 at 13:25:56 (UTC)
Goto Top
Zitat von @133417:

Klar, Import-CSV ...
> $csvobject = Import-CSV 'c:\myfile.csv' -delimiter ';'  
> $csvobject | %{
>     $_.'Spaltenname'  
> }
> 
Hier lesen
https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powe ...

Ich verwende ich jetzt nachfolgenden Code, jedoch erscheint in der neuen CSV die Spalten nicht mehr so, wie in der Quell-CSV - wie kann ich denn dass die Spalten ggfls. sortiert sind? Erst 1_ dann 2_ dann 3_ dann 4_ usw.

powershell -Executionpolicy ByPass -Command "$newcsv = @();import-csv   
$env:USERPROFILE\Desktop\Test\csv_%Date%.csv -Delimiter ';' |   
%%{$newcsv += New-Object PSObject -Property @{'2_Test1'=$_.Test1;'1_Test2'=$_.'Test2';'3_Test3'=$_.'Test3'}};  
$newcsv | Export-Csv $env:USERPROFILE\Desktop\Test\csv-cm_%Date%.csv -Delimiter ';' -NoTypeInformation -Encoding Default"  
Mitglied: 133417
Solution 133417 Jun 02, 2017 at 16:34:19 (UTC)
Goto Top
Nutze eine [ordered] Hashtable face-wink
%%{$newcsv += [pscustomobject] ([ordered] @{'2_Test1'=$_.Test1;'1_Test2'=$_.'Test2';'3_Test3'=$_.'Test3'})};  
oder schiebe ein select mit dem Spalten in der gewünschten Reihenfolge hinterher.
Member: freshman2017
freshman2017 Jun 02, 2017 at 18:06:56 (UTC)
Goto Top
Hi,
ich hatte es gerade mal mit:

powershell -Executionpolicy ByPass -Command "$newcsv = @();import-csv $env:USERPROFILE\Desktop\Test\test.csv -Delimiter ';' | %%{$newcsv += [pscustomobject] {[ordered] @{'2_Test1'=$_.Test1;'1_Test2'=$_.'Test2';'3_Test3'=$_.'Test3'})};$newcsv | Export-Csv $env:USERPROFILE\Desktop\Test\test-1.csv -Delimiter ';' -NoTypeInformation -Encoding Default"  

getestet, funktioniert aber nicht und ich finde den Fehler nicht.
Mitglied: 133417
133417 Jun 02, 2017 updated at 18:11:02 (UTC)
Goto Top
Du hast eine "geschweifte" Klammer hinter [pscustomobject] zu viel face-wink das muss eine "normale" Klammer sein!
Siehst du ja oben ...
Member: freshman2017
freshman2017 Jun 02, 2017 at 18:17:54 (UTC)
Goto Top
Jetzt muss ich doch nochmal nachfragen:

Batch angepasst:

powershell -Executionpolicy ByPass -Command "$newcsv = @();import-csv $env:USERPROFILE\Desktop\Test\test.csv -Delimiter ';' | %%{$newcsv += [pscustomobject] ([ordered] @{'2_Test1'=$_.Test1;'1_Test2'=$_.'Test2';'3_Test3'=$_.'Test3'})};$newcsv | Export-Csv $env:USERPROFILE\Desktop\Test\test-1.csv -Delimiter ';' -NoTypeInformation -Encoding Default"  

.csv:
Test2;Test5;Test1;Test3

Leider bleibt meine test-1.csv leer..

VG
Mitglied: 133417
133417 Jun 02, 2017 updated at 18:27:38 (UTC)
Goto Top
Kein Wunder, deine CSV hat ja überhaupt keine Spaltenüberschriften .... Wo bitte sollte also $_.Spalte1 , $_.Spalte2 usw. herkommen face-big-smile, aus der Glaskugel?!

Liest denn hier keiner mehr irgendeine Anleitung ???!!!

Holla die Waldfeh, lass es Hirn regnen ...