我需要编写一个将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上的人员访问,如连接到网络驱动器是一种痛苦。答案 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?