Awesome_girl
Awesome_girl

Reputation: 484

How to run PowerShell script using System.Diagnostics.Process.Start in c#?

I'm writing this:

using System.Diagnostics;
Process.Start("C:\\CodeProjects\\C#\\WindowsPowerShell\\v1.0\\powershell_ise.exe", "-File .\\mp4_to_flac.ps1");

All this does is open up the script in Windows PowerShell ISE. But I also want it to RUN! So what other arguments do I have to pass in so that it executes?

Process.Start method Reference

Upvotes: 3

Views: 15249

Answers (2)

Miniver Cheevy
Miniver Cheevy

Reputation: 1677

You don't want to run powershell_ise.exe but powershell.exe. From a dos command prompt you can just prefix your command or script with @powershell, but for a process you're going to want to use something like

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe

(that's mine on Win 8.1), yours should be somewhere near there if you're on a different version.

The chocolatey guys throw in these switches

-NoProfile -ExecutionPolicy unrestricted

when executing powershell from the command prompt, you might have to do that also depending on how your execution policy is set.

Upvotes: 3

DrKoch
DrKoch

Reputation: 9782

You could call it like so:

Process.Start(".\\mp4_to_flac.ps1");

and make sure all your windows settings are correct, so a double click on the file will execute it.

Upvotes: -1

Related Questions