如果我有一个常规控制台应用程序(或任何其他应用程序)并使用
Windows资源管理器将文件拖到.exe文件上(为了将该文件用作“命令行输入”),则设置当前目录到其他目录(我的主文件夹?),而不是应用程序所在的目录.如果我通过双击它来启动应用程序,则正确设置当前目录.
这是什么原因?有没有办法将应用程序的文件夹用作当前目录?
最佳答案 正在搜索我在
autoitscript.com找到的原因:
[The application] simply inherits whatever Explorer’s working directory is
这与我自己的观察结果一致,例如键盘上的可编程键.
我的工作是重置工作目录.在C#中,你可以这样做:
System.Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
当您在Linux上启动单声道应用程序而不使用命令行时,您还必须执行此操作.