将文件拖到 .exe 设置不同的工作目录

5 windows command-line windows-explorer

如果我有一个常规控制台应用程序(或任何其他与此相关的应用程序)并使用 Windows 资源管理器将文件拖到 .exe 文件上(以便将该文件用作“命令行输入”),则设置当前目录到其他目录(我的主文件夹?),而不是应用程序所在的目录。如果我通过双击启动应用程序,则当前目录设置正确。

这是什么原因呢?有没有办法使用应用程序的文件夹作为当前目录?

wei*_*ure 3

寻找原因我在autoitscript.com上发现了这个:

[应用程序]简单地继承资源管理器的工作目录

这与我自己的观察一致,例如键盘上的可编程键。

我的解决方法是重置工作目录。在 C# 中,你可以这样做:

System.Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
Run Code Online (Sandbox Code Playgroud)

当您在 Linux 上启动单声道应用程序而不使用命令行时,您也必须执行此操作。