0

似乎这并不容易,我不想创建一个 bat 调用一个 exe 来做到这一点。

有没有一种方法可以创建一个 Windows exe,它可以在退出时更改当前目录。

4

3 回答 3

1

最简洁的答案是不。操作系统为每个可执行文件创建一个“环境”的副本。这包括当前工作目录、环境变量列表(如“PATH”)等。如果您的可执行文件更改了当前工作目录,则此更改只会影响程序运行时自己的环境,但不会影响父进程那开始了。

由于每个进程都有自己的“当前目录”,那么“更改当前目录”是什么意思?当前目录用于什么?

于 2009-10-26T13:50:13.810 回答
0

TakeCommand 的 Windows 4DOS 扩展命令外壳允许您执行此操作。但是在基本的.bat 中?我希望您必须编写一个命令行 win32 exe 来为您提供所需的内容?您必须查看其他 shell 替换 - .bat 和 Windows 命令行 shell 令人难以置信的脑损伤/弱。

于 2009-10-26T14:03:26.560 回答
0

当然有 SetCurrentDirectory Win32 API 调用。但是,这只会更改调用进程的工作目录。由于每次运行可执行文件时,操作系统都会为其启动一个新进程,因此不会有一个好的方法来做到这一点。

有一个关于获取此信息的问题。也许里面的东西会帮助你。接受的答案看起来可能会让您直接访问它,但看起来也很危险。如果您对系统进行蓝屏或引发 China Sindrome 之类的,那是您的错,而不是我的错。:-)

于 2009-10-26T13:57:16.090 回答