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

标签 windows command-line windows-explorer

如果我有一个常规的控制台应用程序(或与此相关的任何其他应用程序)并使用 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 上启动单声道应用程序,您也必须执行此操作。

关于windows - 将文件拖到 .exe 设置不同的工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/882850/

相关文章:

Powershell Invoke-Item 不再适用于在资源管理器中打开目录

ios - cordova 在 Windows 上构建 IOS

python - 如何在 pyinstaller 中包含 chromedriver?

linux - 如何使用 find 重命名不同目录中的同名文件

command-line - 如何从 Go 运行 CLI 命令?

c++ - 在命令函数中调用命令

.net - 如何以编程方式重新启动 Windows 资源管理器进程

c# - 使用 C# 在 Windows 资源管理器中添加新字段

c - SC 启动服务失败 1058

c++ - 仅在按下键时调用函数,而不是在释放键时调用函数