PUSHD/POPD是为了获得bat文件执行的路径。
这个很实用,比如我们想在程序里调用bat文件,bat文件内容如下,先安装一个windows service,然后启动它:
installutil.exe /i "MyWindowsService.exe"
net.exe start "MyWindowsService"
|
如果我是在做一个安装程序,我需要把这些文件包括bat文件先copy到一个安装目录,而且这个目录一般是用户自己选择的,安装程序并不知道。那我们要想让安装程序调用这个bat文件,就需要把bat文件写成这样:
PUSHD "%~dp0" //获得bat文件执行的路径
installutil.exe /i "MyWindowsService.exe"
net.exe start "MyWindowsService"
POPD |
当然,为了保险起见,我们需要把installutil.exe和net.exe(都在c:\windows\system32\)copy到和bat文件相同的目录。这是为了保证有些操作系统可能是精简版或没有这些工具,安装程序也能顺利进行。
本文转自loose_went博客园博客,原文链接:http://www.cnblogs.com/michaelxu/archive/2011/07/07/2100249.html,如需转载请自行联系原作者