在同一个.bat文件中获取.bat文件的当前路径

时间:2017-12-14 08:26:48

标签: batch-file windows-services

我正在尝试使用 .bat 文件创建一些 .exe 文件的Windows服务。据我所知,我需要使用我希望作为服务运行的 .exe 文件的路径。但通常 .exe 文件的路径可能不同,因此我无法在 .bat 文件中使用静态路径。我可以通过将 .exe .bat 文件放在同一方向来解决我的问题,但我需要以某种方式获取 .bat的方向文件本身,并添加我的 .exe 文件的名称。这只是一个想法,所以可以在 .bat 文件中进行吗?

谢谢

P.S。

要将.exe作为Windows服务运行,我使用带有以下脚本的.bat文件

SC create MyService displayname= "MyService" binpath= "<path of exe>\NAME.exe" start= auto

SC failure MyService reset= 86400 actions= restart/1000/restart/1000/run/1000

sc failure MyService command= "\"<path of exe>\NAME.exe""

1 个答案:

答案 0 :(得分:2)

使用%~dp0

此示例将设置您运行代码的批处理文件的路径。

set filepath=%~dp0
echo %filepath:~0,-1%