133202
May 23, 2017
7546
3
0
Mehrzeiligen Powershell-Befehl mit Batch ausführen
Hallo Ihr,
Mehrzeiligen Powershell-Befehl mit Batch ausführen, geht das überhaupt?
Ich wollte nachfolgenden Code (Powershell-Befehl) über eine Batch mit "powershell -Command" ausführen, geht das überhaupt:
Gruß!
Mehrzeiligen Powershell-Befehl mit Batch ausführen, geht das überhaupt?
Ich wollte nachfolgenden Code (Powershell-Befehl) über eine Batch mit "powershell -Command" ausführen, geht das überhaupt:
$in = "C:\csvdatei.csv"
$out = "C:\korrigiert.csv"
$newcsv = @()
import-csv $in -Delimiter ";" | %{$newcsv += New-Object PSObject -Property @{"Kundennummer Vorname Nachname"="$($_.Kundennummer) $($_.Vorname) $($_.Nachname)";"Firma"=$_.Firma}}
$newcsv | Export-Csv $out -Delimiter ";" -NoTypeInformation -Encoding UTF8
Gruß!
Please also mark the comments that contributed to the solution of the article
Content-Key: 338668
Url: https://administrator.de/contentid/338668
Printed on: April 25, 2024 at 00:04 o'clock
3 Comments
Latest comment
Hättest du mal in die Doku geschaut, hättest du gesehen das das Semikolon in Powershell das Ende eine Befehlszeile bedeutet , du damit also mehrere Zeilen hintereinander klemmen kannst, zusätzlich gibt es Bsonderheiten zu beachten wie Batch Sonderzeichen wie ein einfaches Prozentzeichen (%) welches hier etwas für das Foreach-Object verdoppelt werden muss ...
Aber warum nicht direkt?
Gruß
powershell -Executionpolicy ByPass -Command "$in = 'C:\csvdatei.csv';$out = 'C:\korrigiert.csv';$newcsv = @();import-csv $in -Delimiter ';' | %%{$newcsv += New-Object PSObject -Property @{'Kundennummer Vorname Nachname'=$_.Kundennummer + ' ' + $_.Vorname + ' ' + $_.Nachname;'Firma'=$_.Firma}};$newcsv | Export-Csv $out -Delimiter ';' -NoTypeInformation -Encoding UTF8"
powershell -File 'C:\script.ps1'
Gruß
@Kraemer
das wäre Hexerei und würde nur, erneut, beweisen das MS mit dem Teufel im Bunde ist!
@133202
Powershell ist eigenständig, dass kann man genau so verwenden wie batch, die Dateiendung ist PS1 ...
das wäre Hexerei und würde nur, erneut, beweisen das MS mit dem Teufel im Bunde ist!
@133202
Powershell ist eigenständig, dass kann man genau so verwenden wie batch, die Dateiendung ist PS1 ...