0

如果这是一个“新手”问题,请原谅我,但我刚刚开始自学 C#,我开始搞乱 WMI,并使用 microsoft WMI 生成器,我做了这个,目的是为了分析一些东西关于它是如何工作的。但是,有没有办法让它将数据写入文本文件?

代码:

using System;

    using System.Management;

    using System.Windows.Forms;

    namespace WMISample
    {
        public class MyWMIQuery
        {

            public static void Main()
            {
                try
                {
                    ManagementObjectSearcher searcher = 
                    new ManagementObjectSearcher("root\\CIMV2", 
                    "SELECT * FROM Win32_BIOS"); 

                foreach (ManagementObject queryObj in searcher.Get())
                {
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Win32_BIOS instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("SerialNumber: {0}", queryObj["SerialNumber"]);
                }
            }
            catch (ManagementException e)
            {
                MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
            }
        }
    }
}
4

3 回答 3

3

如果您只想将文本附加到文件中:

File.AppendAllText("c:\file.txt", "some text");

如果您特别希望将控制台通过管道传输到文本文件,则需要将控制台的标准输出重定向到 FileStream,如下所述:

来自: http: //msdn.microsoft.com/en-us/library/system.console.setout (v=vs.71).aspx

 Console.WriteLine("Hello World");
 FileStream fs1 = new FileStream("Test.txt", FileMode.Create);
 // First, save the standard output.
 TextWriter tmp = Console.Out;

 StreamWriter sw1 = new StreamWriter(fs1);
 Console.SetOut(sw1);
 Console.WriteLine("Hello file");

 Console.SetOut(tmp);
 Console.WriteLine("Hello World");

 sw1.Close();
于 2012-05-09T14:02:33.933 回答
0

有一个特定的 using 语句用于写入和从文件中写入,它的 system.IO(用于输入输出)这里是一个教程的链接,该教程正确解释了所有基本 IO 的使用 http://www.csharp-station.com/如何/ReadWriteTextFile.aspx

于 2012-05-09T14:02:14.507 回答
0

如果这是出于日志记录的目的,您可以使用 Trace 和 TextWriterTraceListener 将其写入文件,这几乎正是它的用途。

于 2012-05-09T14:15:35.937 回答