
133202
23.05.2017
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ß!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 338668
Url: https://administrator.de/forum/mehrzeiligen-powershell-befehl-mit-batch-ausfuehren-338668.html
Ausgedruckt am: 12.05.2025 um 23:05 Uhr
3 Kommentare
Neuester Kommentar

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