2011-08-11 50 views
0

我正面臨通過C#運行命令批處理文件的問題。其實我已經創建了一個名爲Log.bat的批處理文件,它用於獲取所有目錄文件的文件大小。我把這個批處理文件放在我的桌面上。當我運行它時,它成功檢索目錄及其文件大小。
我的批處理文件的腳本是:在c#中運行批處理文件時顯示錯誤的數據

dir /s > "C:\Documents and Settings\dinesh.kumar\Desktop\LogFile.txt" 

這定的路徑是我的文件保存的位置。 輸出:

Directory of C:\Documents and Settings\dinesh.kumar\Desktop\Color Cop 

10/24/2007 12:08 AM   97,792 ColorCop.exe 
08/10/2006 03:12 PM   26,235 ColorCop.HLP 
08/10/2006 03:12 PM    372 file_id.diz 
10/23/2007 11:50 PM    1,332 license.txt 
10/24/2007 12:06 AM   10,877 readme.txt 
      5 File(s)  136,608 bytes 

現在我已經開發了一個Windows應用程序運行在C#中該批處理文件。 我對運行該批處理文件代碼:

protected void btnRun_Click(object sender, EventArgs e) 
{ 
    System.Diagnostics.Process.Start("C:\\Documents and Settings\\dinesh.kumar\\Desktop\\Log.bat"); 
} 

但是當我運行該應用程序,它會創建LOGFILE.TXT在桌面上,但它給這樣microsoftvisualstudio目錄的文件。 輸出

Directory of C:\Program Files\Microsoft Visual Studio 8\Common7\IDE 

08/11/2011 12:53 PM <DIR>   . 
08/11/2011 12:53 PM <DIR>   .. 
06/29/2011 04:14 PM <DIR>   1033 
09/23/2005 02:53 AM   27,648 cmddef.dll 
09/23/2005 04:24 AM   257,024 compluslm.dll 
09/23/2005 03:37 AM   139,264 csformatui.dll 
09/23/2005 07:15 AM   33,792 custsat.dll 
09/23/2005 07:15 AM   1,038,848 dbghelp.dll 
09/22/2005 11:16 PM   27,112 dteproperties.tlb 
06/29/2011 04:14 PM <DIR>   ExceptionAssistantContent 
06/29/2011 04:14 PM <DIR>   HTML 
08/11/2011 12:53 PM   96,032 LogFile.txt 
09/23/2005 06:56 AM   19,456 MakeZipExe.exe 
09/23/2005 06:56 AM   393,216 Microsoft.Data.ConnectionUI.Dialog.dll 
09/23/2005 06:56 AM    6,144 Microsoft.Data.ConnectionUI.dll 

對不起,數據是這麼長。我不能粘貼它。
它爲什麼不顯示桌面目錄及其文件。 我做錯了什麼?任何代碼或建議將不勝感激。

在此先感謝

+0

你的WinForms運行在什麼目錄? – Tim

+0

出於興趣,你爲什麼要使用這個批處理文件? –

回答

0

更改過程代碼的發佈採取哪些您要的目錄(可進行硬編碼DA路徑),而不是工作目錄爲TJ說。

+0

有很少的,如果有的話,很好的理由硬編碼像一個程序,國際海事組織的路徑。 – Tim

+0

使其成爲變量或常量的最佳實踐,而不是每次都使用路徑的文本。 – TJHeuvel

+0

@蒂姆,是的,因此我說「可能」:) – Zenwalker