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-Key: 455472

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

Printed on: April 27, 2024 at 02:04 o'clock

Member: erikro
erikro May 24, 2019 at 13:15:31 (UTC)
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
Member: Kraemer
Kraemer May 24, 2019 at 13:49:12 (UTC)
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ß
Mitglied: 139920
Solution 139920 May 24, 2019 updated at 14:56:19 (UTC)
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".
Member: Kraemer
Kraemer May 24, 2019 at 15:40:15 (UTC)
Goto Top
Mist, hast natürlich Recht. Das kommt davon wenn man das zwischendurch und somit nicht richtig macht. Danke für den Hinweis