pps4535

Powershell - if Bedingung

Moin, moin,..

ich dachte ich mal einen neuen Thread auf, damit es geordnet abläuft face-smile

Hier habe ich schon einmal gepostet, aber noch keine hilfreiche Antwort:
Die Zeichenfolge hat kein Abschlusszeichen - Batch mit mehrzeiligem Powershellbefehl

Ergebniscode aus dem Thread:
powershell -Executionpolicy ByPass -Command "((Import-CSV \"$env:USERPROFILE\Desktop\Testmuster\muster-2.csv\" -Delimiter ';' -Encoding Default) | %%{\"$($_.'Vorname');$($_.'Name');$($_.'Anschrift');$($_.'neue Plz');$($_.'neuer Ort')\"}) -join '' | set-content \"$env:USERPROFILE\Desktop\Testmuster\muster.txt\""  

Bei meiner Ausgangs CSV kann das sein, dass bsp. 'neuer Ort' oder 'neues Land' nur manchmal vorhanden ist - warum auch immer.

Jetzt würde ich gerne, damit auch ich den Code nutzen kann, gerne folgendes versuchen:

Wenn in der Spalte 'neues Land' eines vorhanden ist, nehme das, sonst (wenn keines vorhanden) schreibe 'Deutschland' als Standardwert.
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 341860

Url: https://administrator.de/forum/powershell-if-bedingung-341860.html

Ausgedruckt am: 09.06.2025 um 04:06 Uhr

133417
Lösung 133417 28.06.2017 aktualisiert um 09:54:56 Uhr
Goto Top
ich dachte ich mal einen neuen Thread auf, damit es geordnet abläuft
Danke. Fremde Threads übernehmen kommt nämlich nicht so gut, deswegen keine Antwort.
powershell -Executionpolicy ByPass -Command "((Import-CSV \"$env:USERPROFILE\Desktop\Testmuster\muster-2.csv\" -Delimiter ';' -Encoding Default) | %%{\"$($_.'Vorname');$($_.'Name');$($_.'Anschrift');$($_.'neue Plz');$(@{$true=$_.'neues Land';$false='Deutschland'}[($_.'neues Land' -ne '')])\"}) -join '' | set-content \"$env:USERPROFILE\Desktop\Testmuster\muster.txt\""  
Gruß
133417
133417 28.06.2017 um 14:15:32 Uhr
Goto Top
Dann bitte noch Wie kann ich einen Beitrag als gelöst markieren? nicht vergessen.
pps4535
pps4535 28.06.2017 um 17:50:49 Uhr
Goto Top
Danke,

"$env:USERPROFILE\Desktop\Testmuster\muster.txt\""  

kann das sein, dass PS mit muster-%date%-%time%.txt Schwierigkeiten hat? Wenn ich die Uhrzeit in HHMMSS ausgeben möchte?
133417
133417 28.06.2017 aktualisiert um 17:58:55 Uhr
Goto Top
%time% enthält Doppelpunkte, und das sind Zeichen für einen Dateinamen die nicht erlaubt sind. Mach es gleich mit Powershell.
\"$env:USERPROFILE\Desktop\Testmuster\muster-$(get-date -f yyyyMMdd-HHmmss).txt\""