我正在寻找一种在启动之前确保它尚未在其他计算机上运行的方法。

我发现最好的方法是检查MySQL文件夹中是否存在现有的.pid。
最简单的方法是修改快捷方式,但我认为这不是可能的。
所以我需要做几件事。


弄清楚MySQL的存储位置
检查是否存在.pid文件,如果发现该文件,则会抛出错误说明,并以文件名MINUS作为扩展名,以提示他们正在运行什么计算机。
如果不存在,请继续使用快捷方式像通常一样启动沼泽。


完成。

如有必要,我们可以询问用户ONCE Wamp的存储位置,然后只需将其存储在%wamp%\ bin \ mysql中
我尝试了此脚本,但执行不正确,它正在打开2个cmd窗口,只是抛出一个暂停。
谢谢


@echo off
cd "C:\google_drive\server\wamp64"
forfiles  /p bin\mysql\ /m *.pid /s /c "cmd /c goto error"
start wampmanager.exe
exit
:error
echo I'm sorry, Mysql is already running so I can't start WAMP for you. Shutdown WAMP on @FNAME before running again."
pause

最佳答案

您可以使用以下命令检查文件是否存在:

if exist "C:\google_drive\server\wamp64\bin\mysql\*.pid


但是,我想根据您的描述,可能有多个.pid文件,因此有更好的选择:

setlocal enabledelayedexpansion
set "running="
for %%a in ("C:\google_drive\server\wamp64\bin\mysql\*.pid") do set "running=!running! %%~na,"
if "%running%" neq "" (
  echo I'm sorry, Mysql is already running so I can't start WAMP for you.
  echo Shutdown WAMP on: %running% before running again.
  pause
  goto :eof
)
start wampmanager.exe

关于mysql - 启动Wamp之前如何检查现有的.pid?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44231509/

10-15 17:01