如何启动一个EXE,它期望当前目录中的配置文件是来自不同目录的EXE目录



我正在尝试通过批处理脚本启动可执行文件。但我的问题是,可执行文件需要在同一目录下的配置文件,而不是似乎批处理文件的路径被设置为当前目录。因此,可执行文件在批处理目录中查找配置文件,而不是在它自己的目录中查找。

到目前为止,我已经试过了:

cd \serverpathdir
programToRun.exe

start \serverpathdirprogramToRun.exe

来自我对维基百科的贡献https://en.wikipedia.org/wiki/Batch_file#Setting_a_UNC_working_directory_from_a_shortcut

UNC默认路径默认关闭,因为它们曾经使旧程序崩溃。[10]

Dword注册表值DisableUNCCheck at HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor[10]允许默认目录为UNC。CD命令将拒绝更改,但在Cmd的快捷方式或使用Start命令的默认目录中放置UNC路径。start "" /d \127.0.0.1C$ "cmd /k" (C$ share是管理员使用的)

感谢所有的帮助,但是我能够通过编辑可执行文件后面的c#代码来修复它。

我用System.Reflection.Assembly.GetEntryAssembly().Location.Replace(" programtorrun .exe", null)替换了Directory.getCurrentDirectory()

最新更新