2011-09-08 77 views
2

我需要從遠程機器的WINDOWS目錄中列出文件。我使用的編程語言是C#和目標操作系統都是Windows XP和Windows Server 2003現在我在做什麼是:獲取遠程機器的WINDOWS路徑

filePaths = Directory.GetFiles("\\\\" + machineName + "\\c$\\WINDOWS"); 

現在,有可能是在WINDOWS目錄中安裝的驅動器上的實例除「C:\」以外。這當然會對上面的代碼造成問題。

任何人都有更好的解決方案嗎?

此外,另一個要求是我需要閱讀kb *日誌文件(位於Vista的OS <的WINDOWS目錄中)。任何關於我應該如何實施的建議?我正在考慮使用StreamReader,除非有更好的選擇。

TIA!

+0

退房這個答案的http:// stackoverflow.com/questions/5031111/how-to-expand-environment-variables-remotely-with-net/5031419#5031419 –

回答

3

如果您有訪問遠程計算機的註冊表,你可以從下面的鍵讀取PathName變量:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ 
+0

是的,這將工作。謝謝! –

0
System.Environment.GetFolderPath(System.Environment.SpecialFolder.System); 

Environment.SystemDirectory 
+0

如果應用程序在本地機器上執行,這將工作。但是,我正在尋找的是從遠程計算機檢索特殊文件夾路徑的方法。謝謝你。上面建議的註冊表位置可用於較小的字符串修改。 –

+0

哦,沒有閱讀正確的...所以我認爲[這個鏈接]的第一個答案(http://stackoverflow.com/questions/5031111/how-to-expand-environment-variables-remotely-with-net )會對你有所幫助 –