找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28244|回复: 6

[特效代码] 钉钉 svn钩子 为啥for循环不执行啊

[复制链接]
发表于 2018-6-27 17:12:48 | 显示全部楼层 |阅读模式
set REPOS=%1
set REV=%2
set tttt=%date:~0,10% %time:~0,8%
for /f "tokens=1,2 delims=:" %%a in ('svnlook author -r %REV% %REPOS%') do (
    if not defined AUTHOR set AUTHOR=%%a
)
for /f "tokens=1,2 delims=:" %%a in ('svnlook dirs-changed %REPOS%') do (
    if not defined CHANGEDDIRS set CHANGEDDIRS=%%a
)
for /f "tokens=1,2 delims=:" %%a in ('svnlook log -r %REV% %REPOS%') do (
    if not defined MESSAGE set MESSAGE=%%a
)
set CONTENT="提交时间:%tttt% \n提交版本:%REV% \n作者:%AUTHOR%\n提交备注:%MESSAGE%\n修改目录:%CHANGEDDIRS% "
set str=cs1
for /f %%i in (%str%) do (
    D:\svndd\ddsvn.exe d23d09b22be3c4b0ff17fce576f3e5f53339261da68ab83642eca2233c2c9391 %CONTENT%
)

以前没接触过批处理,最后的这个for就是不执行,为啥啊
 楼主| 发表于 2018-6-27 17:15:25 | 显示全部楼层
需求大概是某些目录下的svn更改要发送消息到钉钉,str就是这些目录,本来写的是for循环 用%%i去对比%CHANGEDDIRS% 一直不执行,去掉对比,直接for循环也不执行,为啥啊。。。搞了两天了
发表于 2018-6-27 17:33:06 | 显示全部楼层
set str=cs1
这里的cs1是什么?
你那个for命令的写法它会认为cs1是一个文件
发表于 2018-6-27 17:34:13 | 显示全部楼层
代码保存为 C:\test.bat
打开一个CMD窗口,执行命令:
C:\test.bat

这样可以看到详细的报错信息或者线索
 楼主| 发表于 2018-6-28 09:52:35 | 显示全部楼层
set str=cs1
这里的cs1是什么?
你那个for命令的写法它会认为cs1是一个文件
Batcher 发表于 2018-6-27 17:33

set str=cs1,cs2,cs3  str表示一串字符串集合,for循环去取这些字段,然后和%CHANGEDDIRS%(修改目录)作比较,如果%CHANGEDDIRS%包含是在这些地址里的,那就执行发送消息的命令。
 楼主| 发表于 2018-6-28 10:19:47 | 显示全部楼层
新问题
set str=cs1,cs2,dingdingcs
for %%i in (%str%) do (
    echo %CHANGEDDIRS%|findstr %%i >nul
    if %errorlevel% equ 0 D:\svndd\ddsvn.exe d23d09b22be3c4b0ff17fce576f3e5f53339261da68ab83642eca2233c2c9391 %errorlevel%%CHANGEDDIRS%%%i
)
钉钉里机器人发出来的消息
0cs2/cs1
0cs2/cs2
0cs2/dingdingcs
为啥都是0啊。。。
 楼主| 发表于 2018-6-28 10:43:06 | 显示全部楼层
已经完成了,可以正常使用了。谢谢管理员的回答
set str=cs1,cs2,dingdingcs
for %%i in (%str%) do (
    echo %CHANGEDDIRS%|findstr /L "%%i" >nul
    if errorlevel 1 (echo %CHANGEDDIRS%) else (D:\svndd\ddsvn.exe d23d09b22be3c4b0ff17fce576f3e5f53339261da68ab83642eca2233c2c9391 %CONTENT%)
)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 10:36 , Processed in 0.015285 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表