我创建了一个简单的控制台应用程序,如下所示
string fileName =@"Logs\Log" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml";
try
{
var file = new FileInfo(fileName);
file.Directory.Create();
if (!file.Exists)
{
CreateNewLogFile(file);
}
}
我运行MyApp.exe时,会在~Logs \文件夹下生成一个xml文件,创建时附加文件名。
但是当我设置一个运行控制台应用程序的任务时,我可以从任务计划程序的历史记录中看到任务完成正常我也检查了事件并且没有错误但它没有在~Logs文件夹下创建任何文件。
我已获得该文件夹的完全权限。并且任务用户拥有文件夹的完全权限。我无法弄清楚为什么当我运行MyApp.exe时它会生成文件,但是当任务调度程序运行它时却没有?
答案 0 :(得分:4)
当您运行控制台应用程序时,工作文件夹是相同的,但是当您在Schedule Task上运行控制台应用程序时,工作文件夹是系统文件夹,因此您可能在 C:\ Windows上找到您的文件\ SysWOW64 或 C:\ Windows \ System32 。
尝试设置保存文件的完整路径。