2016-12-23 2 views
0

Я пытаюсь отправить путь и аргумент в cmd. Я пишу в C# Но это не работает. Любая помощь приветствуется.Отправить путь и аргумент cmd

Мой код:

string path = @"C:\Users\SAMSUNG\Documents\Visual Studio 2015\Projects\phantom\phantom\bin\Debug\phantom"; 

System.Diagnostics.Process process = new System.Diagnostics.Process(); 
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); 
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
startInfo.FileName = "cmd.exe"; 

startInfo.Arguments = " \"" + path + "\" /c -phantomjs screentaker.js "; 
process.StartInfo = startInfo; 
process.Start(); 
+0

Исполняемый путь не является аргументом. Установите этот путь в 'startInfo.WorkingDirectory' – Pikoh

+0

Какую именно команду вы пытаетесь запустить? Возможно, 'C: \ Users \ SAMSUNG \ Documents \ Visual Studio 2015 \ Projects \ phantom \ phantom \ bin \ Debug \ phantom.exe -phantomjs screentaker.js'? – Pikoh

+0

да я пытаюсь запустить код, так как вы пишете – muzosahin

ответ

0

Исполняемый путь не является аргументом, а FileName не должно быть cmd.exe. Попробуйте это:

string path = @"C:\Users\SAMSUNG\Documents\Visual Studio 2015\Projects\phantom\phantom\bin\Debug\phantom.exe"; 
System.Diagnostics.Process process = new System.Diagnostics.Process(); 
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); 
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
startInfo.FileName = path; 

startInfo.Arguments = "-phantomjs screentaker.js"; 
process.StartInfo = startInfo; 
process.Start(); 

Если вы настаиваете, используя cmd.exe, это может работать:

string path = @"C:\Users\SAMSUNG\Documents\Visual Studio 2015\Projects\phantom\phantom\bin\Debug\phantom.exe"; 

System.Diagnostics.Process process = new System.Diagnostics.Process(); 
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); 
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
startInfo.FileName = "cmd.exe"; 

startInfo.Arguments = "/c " + path + " -phantomjs screentaker.js "; 
process.StartInfo = startInfo; 
process.Start(); 
+0

большое спасибо, но не работает. Мне нужно использовать cmd, тогда я должен пойти по пути и запустить скрипт. – muzosahin