執行命令行我已經在C#中執行命令行的問題:如何在C#
我嘗試:
String [email protected]"C:\Windows\system32>ConsoleTest.exe --asMRZ C:\temp\TEST_CMD\image.jpg C:\temp\TEST_CMD\";
System.Diagnostics.Process.Start("cmd.exe", @"/C ' Mon_CMD'");
但我總是得到一個錯誤。
如何執行此確切命令?
執行命令行我已經在C#中執行命令行的問題:如何在C#
我嘗試:
String [email protected]"C:\Windows\system32>ConsoleTest.exe --asMRZ C:\temp\TEST_CMD\image.jpg C:\temp\TEST_CMD\";
System.Diagnostics.Process.Start("cmd.exe", @"/C ' Mon_CMD'");
但我總是得到一個錯誤。
如何執行此確切命令?
提供ConsoleTest.exe是在C:\ Windows \ System32下(這似乎不是一個好主意,但這是另一個話題)
String Mon_CMD = @"C:\Windows\system32\ConsoleTest.exe";
String arguments = @"--asMRZ C:\temp\TEST_CMD\image.jpg C:\temp\TEST_CMD\";
System.Diagnostics.Process.Start(Mon_CMD, arguments);
應該做的工作
以及由cFrozenDeath和建議Nyerguds,如果你想在另一個字符串中使用Mon_CMD,你有多種選擇,如:使用+運營商的StringBuilder建立一個新的字符串,或者如果你是C#6串插:
string arguments = $"/C ' {Mon_CMD}'";
(並且你不需要一個字面字符串)
你還應該提到OP連接字符串的錯誤嘗試,這是代碼中的錯誤部分 –
@cFrozenDeath你是指在Mon_CMD或參數中合併Path和exe名稱? –
@ vc74事實上,他們將文本「Mon_CMD」放在一個帶引號的字符串中,而不是將其引用爲變量。 – Nyerguds
你不是真的連接字符串,它是錯誤的c#語法,嘗試:'Process.Start(「cmd.exe」,$「/ C' {Mon_CMD}'「);'或'Process.Start(」cmd.exe「,」/ C'「+ Mon_CMD +」'「);' –
您不會啓動CMD從那裏執行命令, 「ConsoleTest.exe」直接使用所需的參數。除了你的字符串格式不正確 –