jeudi 27 février 2014

Executer des processus et commandes Shell ou DOS depuis PowerShell

Besoin d'exécuter une commande DOS avec de nombreux paramètre depuis PowerShell?

Hé bien moi aussi... et je dois avouer qu'il y a de quoi s'arracher les cheveux... sauf si l'on sait quel article lire (car il y a quand même de nombreuses méthodes pour y arriver)

  1. Direct - Using the environment path or local folder
  2. Invoke-Expression (IEX)
  3. Invoke-Command (ICM)
  4. Invoke-Item (II)
  5. The Call Operator &
  6. cmd /c - Using the old cmd shell
  7. Start-Process (start/saps)
  8. [Diagnostics.Process] Start()
  9. WMI Win32_Process Create() Method
  10. Stop-Parsing Symbol --%



Toutes ces méthodes sont décrites dans l'article "PowerShell: Running Executables" paru sur le TechNet de MicroSoft.

A consulter attentivement... au risque de tourner en rond pendant longtemps!


Pour moi, la solution fut celle de l'opérateur &

& "C:\Program Files (x86)\PlotSoft\PDFill\PDFill.exe" HeadFoot "c:\stock\Output\PubPdf\AX.pdf" "c:\stock\Output\PubPdf\AX-step1.pdf" 0 0 18 20 18 20 "Ch. orange: Smurf" -align 2 -fontEncode "Occidental" -fontName "Calibri" -fontSize 10.0 -rgbFontColor "0 0 0"