编写计划任务(ConsoleApp)以编写文本文件

时间:2011-12-14 14:50:55

标签: c# .net scheduled-tasks

我需要编写一个将Text写入Textfile的任务。这应该不是太复杂,我最初的想法,但我很早就在某个地方犯了一个错误。该任务后来应该作为没有本地Windows帐户的用户运行,也许这可能是一个问题,但我甚至更早地陷入困境。我使用我(本地管理员,域用户)在Windows任务调度程序中实现和运行任务,操作是运行.exe,即使没有登录也会运行任务。

exe中的代码如下:


    StreamWriter sw = null;
    try
    {
        sw = File.CreateText(@"C:\temp\test.txt");
        sw.WriteLine("something something");
    }
    finally { sw.Dispose(); }

整个域都可以访问(temp-)文件夹,包括我和用户以后运行任务。

任务以错误代码0xc0000005结束,并且没有写入文本文件。我究竟做错了什么?没有文本文件!

提前致谢!

PS:此任务背后的想法是让它作为有权访问网络驱动器的用户运行,以便存储在网络驱动器中的数据可以被PC上的人员访问,如连接到网络驱动器是一种痛苦。

2 个答案:

答案 0 :(得分:0)

始终使用:

try {
    using (StreamWriter sw = new StreamWriter(@"C:\test\test.txt", false)) {
        sw.WriteLine("Write something");
    }
}
catch (Exception e ) {
    DoSomeThing(e);
}

答案 1 :(得分:0)

错误代码5表示"访问被拒绝"。运行计划任务的用户是否有权写入C:\ TEMP?