我正在使用 'Bat to Exe Converter'将我的批处理文件转换为 exe 格式。
现在,我遇到了一些问题。
每当我转换某些东西,并将“工作目录”设置为“当前目录”,并以 echo on
模式启动我的 exe 时,这就是我最终检查是否有特定文件的结果在我的 exe 目录中:
实际命令:如果不存在 "%~dp0\file.txt"goto :nofile
输出:如果不存在 "C:\Users\MyUser\AppData\Local\Temp\4CBC\\file.txt"goto :nofile
谁能帮我解决这个问题?我不希望它在临时目录中,我希望它在我的 exe 目录中。
谢谢。
最佳答案
如果作者不更改 Bat 到 Exe,我认为您有两个选择:
删除访问 %~dp0 的需要
或许您可以将
file.txt
与 Bat to Exe 的 include 选项合并到 EXE 文件中。如果是这样,"file.txt"
会在运行你编译好的exe时自动解压到当前目录,你可以通过%CD%\file.txt
访问。从外部获取
%~dp0
并将其作为命令行参数传递给exe。这可以通过一个简单的起始
bat
文件来完成,该文件与编译的主批处理文件位于同一目录中。该脚本应包含行YourCompiled.Exe %~dp0% %%*
您编译的 exe 然后从 %1 获取其目录。所以你不能把所有东西都打包到一个 exe 中,但它的主要部分,也许对你来说就足够了。
关于windows - CMD: Bat to Exe Converter - 临时目录问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992393/