常用win脚本

DBC 555 0

定时执行某些操作

@ECHO OFF

:LOOP
git pull
FOR /F "delims=" %%G IN ('git log -1 --pretty^=format:"%%an"') DO SET "OUTPUT=%%G"
curl "http://8.142.19.202:1111/xxxxx?msg=%OUTPUT%"
timeout /t 10 >nul
GOTO LOOP

这段代码是一个批处理脚本,用于自动化执行一系列操作。让我为您解释一下每一行的功能:

  1. @ECHO OFF: 这是批处理文件的第一行命令,它告诉命令解释器不要在执行命令时显示命令本身。这样可以使输出更加清晰。
  2. :LOOP: 这是一个标签,用于标识一个循环的起始点。在后面的代码中,我们会看到通过GOTO LOOP语句来跳转到这个标签,实现循环执行的效果。
  3. git pull: 这是执行 Git 命令的语句,用于从远程仓库拉取最新的代码更新。
  4. FOR /F "delims=" %%G IN ('git log -1 --pretty^=format:"%%an"') DO SET "OUTPUT=%%G": 这是一个循环语句,用于获取最新提交的作者名,并将其赋值给变量 OUTPUTgit log -1 --pretty=format:"%%an" 命令用于获取最近一次提交的作者名。FOR /F 命令用于遍历命令的输出结果,并将每一行的内容赋值给 %%G 变量。然后,通过 SET 命令将 %%G 的值赋给变量 OUTPUT
  5. curl "http://8.142.19.202:1111/xxxxx?msg=%OUTPUT%": 这个命令使用 curl 工具发送一个 HTTP GET 请求,将变量 OUTPUT 的值作为查询参数 msg 的值发送到指定的 URL。这个 URL 可能用于更新项目中的某些信息,具体的目的需要根据实际情况来确定。
  6. timeout /t 10 >nul: 这个命令会暂停脚本的执行,让脚本等待 10 秒钟。/t 10 表示暂停的时间为 10 秒。>nul 则是将命令的输出重定向到空设备,这样不会在屏幕上显示暂停的信息。
  7. GOTO LOOP: 这个命令用于跳转到之前定义的 :LOOP 标签处,实现循环执行的效果。整个脚本会不断地执行上述步骤,循环拉取代码更新、获取作者名并发送到指定的 URL。

综合起来,这段代码的作用是在一个循环中,定期从远程 Git 仓库拉取最新代码更新,然后获取最近一次提交的作者名,并将作者名作为参数发送到指定的 URL。

发表评论 取消回复
表情 图片 链接 代码

分享