【问题标题】:Get the current path of the .bat file within the same .bat file在同一个 .bat 文件中获取 .bat 文件的当前路径
【发布时间】:2017-12-14 08:26:48
【问题描述】:

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

谢谢

附言

要将 .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""

【问题讨论】:

  • 通过启动构成 Windows 服务的 .exe,您不会将其作为服务启动(除非可执行文件在作为应用程序调用时启动其关联的服务)。你打算调用net start $servicename吗?
  • 要将 .exe 作为 Windows 服务运行,我使用带有以下脚本的 .bat 文件 [ SC create MyService displayname= "MyService" binpath= "\NAME.exe" start=自动 SC 失败 MyService 重置 = 86400 操作 = 重新启动/1000/restart/1000/run/1000 sc 失败 MyService 命令 = "\"\NAME.exe"" ]
  • 那是创建服务,而不是运行它。无论如何,请参阅重复。
  • 感谢回复

标签: batch-file windows-services


【解决方案1】:

使用%~dp0

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

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

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    相关资源
    最近更新 更多