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

时间:2009-05-19 13:44:00

标签: windows command-line windows-explorer

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

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

2 个答案:

答案 0 :(得分:2)

autoitscript.com上搜索我找到的原因:

  

[应用程序]只是继承了Explorer的工作目录

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

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

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

在不使用命令行的情况下在Linux上启动单声道应用程序时,您还必须执行此操作。

答案 1 :(得分:0)

这正是您的应用程序不应该依赖于工作目录的原因。将在命令行上指定文件的完整路径。如果需要,可以从中解析路径。