2013-06-20 150 views
1

我兩個命令提示符窗口如下,不同的命令提示窗口中不執行相同的命令

  1. 管理員:命令提示符 - 手動打開

-

  1. 管理員:C:\ Windows \ System32 \ c md.exe - 用C#代碼 (的Process.Start)

我想執行的svn命令,即開放的考慮svn update命令。

該命令在我手動打開的第一個cmd中成功執行。 但是,相同的命令不會在由C#代碼打開的第二個cmd窗口中執行。

給誤差爲「SVN」不被識別爲內部或外部 命令

我想這從代碼觸發。檢查路徑變量。 創建一個bat文件來執行命令。同樣的錯誤仍然存​​在,執行蝙蝠手動工作,而從代碼不工作。

爲什麼cmd的行爲不同?

+1

如果你想使用Subversion從.NET應用程序中,這是更好地整合[SharpSVN(http://sharpsvn.open.collab.net/)到你的代碼 - 唐」生成其他進程來運行其他進程。另外,在'svn.exe'上添加依賴關係只會導致更多內容需要管理和分發。 – alroc

+0

@alroc,Thaks。從代碼調用中,svn沒有更新。所以只有去了bat文件。但它仍然無法工作。我購買了VisualSVN服務器並安裝在我的服務器上。不過我會試用SharpSVN。 – user9371102

回答

1

你說你檢查了%PATH%變量,但你沒有說你如何檢查它以及結果是什麼。當您在命令窗口中運行echo %PATH%時,您會得到什麼結果2 nd

鑑於該錯誤消息,您幾乎可以確定可執行文件的路徑從%PATH%中丟失。請嘗試以下操作:

set PATH=%PATH%;C:\path\to\svn\dir 
svn update 
+0

謝謝,我查過了。如果我們手動輸入命令,則第二個cmd正在工作。從代碼調用時它不工作。 – user9371102

+1

然後看起來你的代碼有問題。沒有什麼我們可以告訴你沒有看到它。 –

+0

System.Diagnostics.Process.Start(「cmd.exe」,「svn update path_to_svn_dir」); 和 System.Diagnostics.Process.Start(@「c:/file_path/name.bat」);兩個都沒有工作。 bat文件在第一行包含命令。 – user9371102

相關問題