C# 在windows调度程序中进行调度后,如何获取已安装的exe文件系统路径?

C# 在windows调度程序中进行调度后,如何获取已安装的exe文件系统路径?,c#,windows,scheduled-tasks,exe,scheduler,C#,Windows,Scheduled Tasks,Exe,Scheduler,我在控制台应用程序中编写了一行System.IO.Path.GetFullPath(“ApplicationSubDirectory”)来获取应用程序目录文件系统路径 我构建了这个应用程序,并在我的系统中安装了exe。exe已安装在c://ProgramFiles/AppFolder/目录中。当我执行exe时,我得到了有效的路径,如c://ProgramFiles/AppFolder/ApplicationSubDirectory 但当我计划在windows调度程序中每日运行此exe时。那我就走

我在控制台应用程序中编写了一行
System.IO.Path.GetFullPath(“ApplicationSubDirectory”)
来获取应用程序目录文件系统路径

我构建了这个应用程序,并在我的系统中安装了exe。exe已安装在
c://ProgramFiles/AppFolder/
目录中。当我执行exe时,我得到了有效的路径,如
c://ProgramFiles/AppFolder/ApplicationSubDirectory

但当我计划在windows调度程序中每日运行此exe时。那我就走错路了。这将返回安装windows调度程序的目录路径,如
c://windows/System32/ApplicationSubDirectory
。这是一条错误的道路

请帮助我如何在调度exe后获得有效路径


非常感谢。

计划程序将当前目录设置为上述路径。
System.IO.Path.GetFullPath(“应用程序子目录”)
使用当前目录


您可以试试。

调度程序将当前目录设置为上述路径。
System.IO.Path.GetFullPath(“应用程序子目录”)
使用当前目录


您可以试试。

这是因为您的控制台应用程序是由任务计划程序启动的。要获得实际路径,请向应用程序中添加以下代码

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

这是因为控制台应用程序是由任务计划程序启动的。要获得实际路径,请向应用程序中添加以下代码

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

感谢您对PrinceCharles的支持。