2012-02-24 142 views
3

我需要使用命令行版本7zip解壓縮壓縮文件。這一個班輪應的伎倆:將參數發送到命令行

Process.Start("cmd", @"C:\Users\cw\Downloads\7za920\7za e C:\UPDATED.zip -oc:\"); 

我指定的路徑7zip的命令行可執行文件,並告訴它解壓縮的文件。如果我將這些參數複製並粘貼到我的命令行窗口中,它將起作用。在C#中,它會彈出一個命令行窗口,並且不會發生任何事情。是什麼賦予了?

+0

正在啓動的過程是CMD,這是一個命令行。你不需要這樣做。只需調用7zip可執行文件即可。 – cadrell0 2012-02-24 15:41:10

回答

4

嘗試:

Process.Start("cmd", @"/c C:\Users\cw\Downloads\7za920\7za e C:\UPDATED.zip -oc:\"); 
4

這是因爲你正在運行cmd.exe的,而不是直接7za。你可以做任何兩個:

Process.Start(@"C:\users\...\7za", "e c:\updated.zip -oc:\"); 

Process.Start("cmd", @"/c c:\users\...\7za e c:\updated.zip -oc:\"); 

的/ C標誌告訴在cmd啓動後運行參數。

2

嘗試

Process.Start(@"C:\Users\cw\Downloads\7za920\7za.exe", @"e C:\UPDATED.zip -oc:\");