与任务调度程序一起使用的应用程序无法在我的 C# 代码中创建目录

Posted

技术标签:

【中文标题】与任务调度程序一起使用的应用程序无法在我的 C# 代码中创建目录【英文标题】:My application which works with task scheduler can't create directory in my c# code 【发布时间】:2015-02-17 06:26:18 【问题描述】:

我的应用程序有这样的代码部分:

if (!Directory.Exists(datePath))

     Directory.CreateDirectory(datePath);

如果我双击并运行 exe,它会工作并创建文件夹。

但是当我将我的应用程序带到任务计划程序并设置为每天运行时,代码不起作用。没有错误,什么都没有。

即使我右键单击任务并手动运行它,它也不起作用。

我将我的其他应用程序与任务调度程序一起使用,它们运行良好。我不明白为什么这个不创建目录....

【问题讨论】:

用户帐户需要具有创建目录的权限。即运行任务计划程序的用户帐户。 听起来像是文件权限问题。必须将任务设置为使用您的凭据运行吗? 您的登录用户和运行调度程序的用户不同。 datePath的值是多少? 完成部分创建任务我使用了管理员ID/密码 【参考方案1】:

将comment on your question 和您的comment on my now-removed answer 绑定在一起:

你看到路径是E:\Engineering\2014\December。 E: 是映射到\\server\share 的驱动器。

我为计划任务使用了服务器管理员用户名和密码

该用户在您的计算机上没有映射驱动器。使用完整的 UNC 路径:

string datePath = @"\\server\share\Engineering\..."

【讨论】:

以上是关于与任务调度程序一起使用的应用程序无法在我的 C# 代码中创建目录的主要内容,如果未能解决你的问题,请参考以下文章

任务调度程序多语言参数

我的 C# 应用程序将 0xE0434352 返回到 Windows 任务计划程序,但它没有崩溃

Python 使用任务调度程序自动登录 Windows

windows 服务实现定时任务调度

与 django 应用程序一起连续运行任务

带有任务调度程序的 IOCP(线程构建块)