找回密码
 加入
搜索
查看: 3759|回复: 11

[系统综合] 谁能帮忙把这个BAT转成AU3代码。

    [复制链接]
发表于 2017-9-1 18:47:36 | 显示全部楼层 |阅读模式
echo off
 
echo 正在备份服务,如果优化出了问题您可以及时
 
echo 恢复.备份会生成一个以当前时间命名的批处
 
echo 理文件,恢复时只要双击即可.
 
rem  get current date and time
 
for /f "tokens=1, 2, 3, 4 delims=-/. " %%j in ('Date /T') do set FILENAME=srv_%%j_%%k_%%l_%%m
 
for /f "tokens=1, 2 delims=: " %%j in ('TIME /T') do set FILENAME=xinfuwu.txt
 
 
rem get all service name
 
sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt
 
echo.
 
echo.
 
echo.
 
echo         正在备份,请稍等...
 
echo.
 
echo.
 
echo.
 
echo.
 
echo.
 
echo.
 
echo.
 
rem save service start state into batch file 

 
for /f "tokens=2 delims=:" %%j in (tmpsrv.txt) do @( sc qc %%j |findstr  START_TYPE >tmpstype.txt &&  for /f "tokens=4 delims=:_ " %%s in ( tmpstype.txt) do @echo%%j>>"%FILENAME%")

del tmpsrv.txt
 
del tmpstype.txt
 
echo 服务已备份到:
 
echo     %FILENAME%
 
echo.
 
发表于 2017-9-2 00:41:16 | 显示全部楼层
自己多动手,万事先自己尝试再求别人,你这样很容易被封帖。
发表于 2017-9-2 09:29:43 | 显示全部楼层
直接打包这个批处理也行吧。
发表于 2017-9-3 14:32:21 | 显示全部楼层
直接run這個bat?
发表于 2017-9-5 09:51:05 | 显示全部楼层
用第四个参数为0x8的run运行 sc query type= service state= all
用StdoutRead监听,获取run的输出,然后正则保存服务名和状态到二维数组,保存到某个文件

恢复的时候同样操作,获取当前状态到另一个二维数组,然后对比,sc start “服务名”

具体code你自己写,,不推荐伸手主义
发表于 2017-9-5 09:53:50 | 显示全部楼层
直接点击就自动运行也没什么难的,,
第一次运行,当前目录不存在记录文件,所以默认启动 备份模式
第二次运行,发现记录文件,启动恢复模式,获取用户许可后,恢复
发表于 2017-9-8 07:29:50 | 显示全部楼层
看不懂,bat都写得这么复杂
发表于 2017-9-8 09:39:14 | 显示全部楼层
本帖最后由 229989799 于 2017-9-8 09:40 编辑

批量转换的,没测试过,很多空行也没删除,自己处理一下吧。。

RunWait(@ComSpec & ' /c ' & 'echo off', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo 正在备份服务,如果优化出了问题您可以及时', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo 恢复.备份会生成一个以当前时间命名的批处', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo 理文件,恢复时只要双击即可.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'rem  get current date and time', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'for /f "tokens=1, 2, 3, 4 delims=-/. " %j in (' & "'" & _
'Date /T' & "'" & _
') do set FILENAME=srv_%j_%k_%l_%m', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'for /f "tokens=1, 2 delims=: " %j in (' & "'" & _
'TIME /T' & "'" & _
') do set FILENAME=xinfuwu.txt', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'rem get all service name', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo         正在备份,请稍等...', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'rem save service start state into batch file ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'for /f "tokens=2 delims=:" %j in (tmpsrv.txt) do @( sc qc %j |findstr  START_TYPE >tmpstype.txt &&  for /f "tokens=4 delims=:_ " %s in ( tmpstype.txt) do @echo%j>>"%FILENAME%")', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'del tmpsrv.txt', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'del tmpstype.txt', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo 服务已备份到:', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo     %FILENAME%', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
发表于 2017-9-8 11:50:51 | 显示全部楼层
RunWait(@ComSpec & ' /c ' & 'echo off', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo 正在备份服务,如果优化出了问题您可以及时', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo 恢复.备份会生成一个以当前时间命名的批处', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo 理文件,恢复时只要双击即可.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'rem  get current date and time', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'for /f "tokens=1, 2, 3, 4 delims=-/. " %j in (' & "'" & _
'Date /T' & "'" & _
') do set FILENAME=srv_%j_%k_%l_%m', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'for /f "tokens=1, 2 delims=: " %j in (' & "'" & _
'TIME /T' & "'" & _
') do set FILENAME=xinfuwu.txt', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'rem get all service name', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo         正在备份,请稍等...', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'rem save service start state into batch file ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'for /f "tokens=2 delims=:" %j in (tmpsrv.txt) do @( sc qc %j |findstr  START_TYPE >tmpstype.txt &&  for /f "tokens=4 delims=:_ " %s in ( tmpstype.txt) do @echo%j>>"%FILENAME%")', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'del tmpsrv.txt', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'del tmpstype.txt', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo 服务已备份到:', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo     %FILENAME%', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & ' ', '', @SW_HIDE)
RunWait(@ComSpec & ' /c ' & 'echo.', '', @SW_HIDE)
发表于 2017-9-8 11:51:47 | 显示全部楼层
回复 9# zpmc123


    没试 不知道行不行!
发表于 2017-9-8 22:56:41 | 显示全部楼层
哈哈哈哈哈哈哈哈哈。。。。。
发表于 2017-9-8 22:57:33 | 显示全部楼层
逗死我了,,楼上两个哥们,,,,牛逼啊
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-20 04:26 , Processed in 0.076396 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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