2011-09-08 75 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 )会对你有所帮助 –