.bat脚本中的相对路径问题

phoenix_zhou 2009-11-29 08:53:38
项目中希望将一个HttpServer.exe注册为系统服务。在网上搜到一个方法,其中要运行一个.bat文件。文件中有这么两句话:

::设置服务程序路径
set prog_path=E:\\Test\\HttpServer\\HttpServer.exe
。。。。。。。。。

echo 生成注册表文件...
echo Windows Registry Editor Version 5.00 > %reg_file%
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service_name%\Parameters] >> %reg_file%
echo "Application"="%prog_path%" >> %reg_file%

如果第一句写成那样的绝对路径的话,是没有问题的,但是我想让HttpServer.exe和这个.bat文件放在同一个文件夹下,让这个地方改成相对路径。试了试%cd%,不行,请教各位大侠,这个地方应该怎么写?


...全文
3039 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingwalker08 2009-12-17
  • 打赏
  • 举报
回复
好!写得好!
tlze 2009-12-04
  • 打赏
  • 举报
回复
set prog_path=%~dp0HttpServer.exe
set prog_path=%prog_path:\=\\%

如果用%cd%的话,跟目录运行会多一个"\“,自己确认用那个。
phoenix_zhou 2009-12-04
  • 打赏
  • 举报
回复
是这样的,我的问题是
set prog_path=E:\\Test\\HttpServer\\HttpServer.exe中,路径是双斜杠分层.
但是,如果用%cd%的话,得到的是E:\Test\HttpServer\HttpServer.exe,不知道这个地方怎么改?
phoenix_zhou 2009-12-04
  • 打赏
  • 举报
回复
谢谢tlze,解决了
tlze 2009-11-29
  • 打赏
  • 举报
回复
set prog_path="%cd%\HttpServer.exe"
ljc007 2009-11-29
  • 打赏
  • 举报
回复
[code=BatchFile]set "prog_path=%~dp0HttpServer.exe"
[/code]

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧