如何执行与Windowsbatch file相同的目录中的程序?
我在同一个文件夹中有一个.bat
和一个.exe
文件。 我不能从.bat
调用.exe
文件,除非我把完整的绝对path。 有没有办法不指定path?
尝试使用%~dp0
调用.exe
,如下所示: %~dp0MyProgram.exe
。
%0
包含被调用的.bat
文件的完整path。
~dp
说要得到驱动器和path,包括尾随\
。
我通过在脚本开始处使用pushd来更改工作目录来解决这个问题,而使用popd来恢复脚本的末尾。 这样你总是可以假定工作目录和bat文件的位置是一样的。
pushd %~dp0 ProgramInSameFolderAsBat.exe popd
似乎很奇怪? 我有一段时间没有在Windows上工作,但是
你有没有试过带领./
./program.exe
真的应该没有区别? 也许蝙蝠是从C:\ Windows的上下文执行还是你的批处理在任何时候做任何CD到另一个目录?
- 将自定义的prerequsites添加到visual studio安装项目
- 在Unix(或Windows)中,如何使用(最好是未命名的)pipe道将一个进程的stdout发送到多个进程?
- 如何从Python(2.7)中产生的进程中消除Windows控制台?
- 如何从networking共享中运行batch file,而不需要“UNCpath不受支持”消息?
- 如何在Windows上使线程睡眠时间less于一毫秒
- 为什么在没有“Thread.sleep”的情况下,“while(true)”会在Linux上导致100%的CPU使用率,而不是在Windows上使用?
- TortoiseSVN图标不显示在Windows 7下
- 从Windows控制台运行cURL命令
- 如何使用Windows命令提示符删除空文件夹?