将bat文件通过bat2exe工具转成了exe文件后,文件代码中所取的当前路径变了,为什么?

我将一个bat文件通过bat2exe工具转成了exe文件,在bat文件中有取当前路径的代码,当运行bat文件时,所取的当前路径是正确的,但是转成exe后执行,当前路径就变了,成了一个c盘下的临时文件夹,为什么会这样呢?

文件内容如下:
@echo off
set CUR_DIR=%~dp0
set TEST_DIR=%CUR_DIR%..\..
set BIN_DIR=%TEST_DIR%\bin

title caseExecuteClient
cd /d %CUR_DIR%
%BIN_DIR%\php547\php caseExecuteClient.php

pause

心思花在这个上不如提高自己编程能力
显然转为exe文件运行后,它先把原bat文件释放到临时文件夹,然后运行临时bat文件——则按bat文件位置取的当前路径就变成了那个临时文件夹处了
解决办法:把 set CUR_DIR=%~dp0 等号后换成绝对路径或者说那个exe文件的路径,如文件路径不确定,只好再编代码查找这个文件了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-17
bat2exe的原理是把P处理加上EXE壳 然后在运行的时候释放到临时目录执行 所以就造成了你的问题 你可以选择用SET /P手动输入。