mschaedler1982
Goto Top

Powershell start-process cmd mit Parametern

Hallo zusammen,

wahrscheinlich wieder nur ein kleines Problem

Ich will aus PowerShell einen start-process Befehl abschicken unter cmd funktioniert er soweit.

CMD
"C:\Program Files (x86)\Advanced TIFF Editor\advtiffeditor.exe" "C:\Temp\00677373.TIF" /savefolder="C:\Temp\" /batchprocess /actlist="C:\Temp\advanced_tiff.actl"  

PowerShell
start-process -filepath C:\Temp\2.cmd -ArgumentList 'C:\Temp\00677373.TIF' '/savefolder="C:\Temp"' '/batchprocess' '/actlist="C:\Temp\advanced_tiff.actl"' -Wait  

Als Fehlermeldung erhalte ich.

Start-Process : Es wurde kein Positionsparameter gefunden, der das Argument "/savefolder="C:\Temp"" akzeptiert.
In Zeile:1 Zeichen:1

back-to-topstart-process -filepath C:\Temp\2.cmd -ArgumentList 'C:\Temp ...

back-to-top~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidArgument: (face-smile [Start-Process], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand

Ich schätze es liegt am "/" aber ich hab keine Ahnung wie ich den wegbekomme.
Ein Backtick vor dem " war nicht die Lösung.

Weiß hier jemand weiter?

Content-ID: 455472

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

Ausgedruckt am: 25.11.2024 um 21:11 Uhr

erikro
erikro 24.05.2019 um 15:15:31 Uhr
Goto Top
Moin,

Zitat von @mschaedler1982:
Weiß hier jemand weiter?

Ja, das Handbuch:

Example 7: Specifying arguments to the process

Both commands start the Windows command interpreter, issuing a dir command on the 'Program Files' folder. Because this foldername contains a space, the value needs surrounded with escaped quotes. Note that the first command specifies a string as ArgumentList. The second command a string array.
PowerShell

Start-Process -FilePath "$env:comspec" -ArgumentList "/c dir `"%systemdrive%\program files`""
Start-Process -FilePath "$env:comspec" -ArgumentList "/c","dir","`"%systemdrive%\program files`""


aus: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...

Liebe Grüße

Erik
Kraemer
Kraemer 24.05.2019 um 15:49:12 Uhr
Goto Top
Moin,
Zitat von @mschaedler1982:
Weiß hier jemand weiter?
ich sage auch Handbuch und verweise aber auf die Definition:

Start-Process
     [-FilePath] <String>
     [[-ArgumentList] <String>]

Es ist also exakt ein String gefragt - und nicht drei.

Gruß
139920
Lösung 139920 24.05.2019 aktualisiert um 16:56:19 Uhr
Goto Top
Zitat von @Kraemer:

Moin,
Zitat von @mschaedler1982:
Weiß hier jemand weiter?
ich sage auch Handbuch und verweise aber auf die Definition:

Start-Process
>      [-FilePath] <String>
>      [[-ArgumentList] <String>]

Es ist also exakt ein String gefragt - und nicht drei.
Wenn wir schon dabei sind, das ist so nicht richtig, ein Array aus Strings, wäre hier korrekt man beachte die hinter dem "String".
Kraemer
Kraemer 24.05.2019 um 17:40:15 Uhr
Goto Top
Mist, hast natürlich Recht. Das kommt davon wenn man das zwischendurch und somit nicht richtig macht. Danke für den Hinweis