2010-08-27 47 views
2

這將是很難嘗試解釋這一點,但請裸露在我身邊...Process.Start問題

我使用process.Start來運行Convert.exe。這個程序的目的是轉換exe文件夾中的所有文件。所以當我通常使用它時,我會將一個文件複製到與Convert.exe相同的文件夾中,然後運行Convert.exe。 Convert.exe將在同一個文件夾中創建一個新的「已轉換」文件。

我試圖自動化這個乏味的過程。用戶選擇一個需要從FolderA轉換的文件,我將它複製到Convert.exe所在的同一個文件夾,並使用process.start(Convert.exe)來運行它。 只需要清楚,這個「Convert.exe」接受NO參數。

問題:「Convert.exe」不轉換文件夾中的文件。相反,它轉換FolderA中的所有文件出於某種奇怪的原因。我不知道它爲什麼選擇了這個文件夾,我甚至從來沒有嘗試將它作爲參數發送或不發送。

這裏是我的代碼:

Dim techInfo As New System.IO.FileInfo(itm.strFilePath)    
techInfo.CopyTo(ConverterPath & techInfo.Name) 

Dim procInfoConvert As New ProcessStartInfo 
procInfoConvert.CreateNoWindow = False 
procInfoConvert.Arguments = "" 
procInfoConvert.FileName = ConverterPath & "Convert.exe" 

Dim procConvert As Process = Process.Start(procInfoConvert) 

我做了一個測試,我複製粘貼文件到「Convert.exe的」文件夾,然後只需運行該代碼:

process.start(ConverterPath & "Convert.exe") 

的exe不會返回任何內容,就像文件夾中沒有文件一樣。

我能想到的唯一的事情是,當的Process.Start運行時,它將該文件複製到另一個位置,並從那裏運行它...

任何想法嗎?

感謝

回答

2

試試這個:

procInfoConvert.WorkingDirectory = ConverterPath 

這將設置過程起來它包含在目錄啓動,而不是當前目錄。

+0

哇,這很容易大聲笑Thx:D – Iggy 2010-08-27 17:54:39

+0

不客氣:)這就是我們在這裏! – Mark 2010-08-27 18:09:52