qq4045728 发表于 2017-9-1 18:47:36

谁能帮忙把这个BAT转成AU3代码。

echo off

echo 正在备份服务,如果优化出了问题您可以及时

echo 恢复.备份会生成一个以当前时间命名的批处

echo 理文件,恢复时只要双击即可.

remget 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 |findstrSTART_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.

nmgwddj 发表于 2017-9-2 00:41:16

自己多动手,万事先自己尝试再求别人,你这样很容易被封帖。

king8462 发表于 2017-9-2 09:29:43

直接打包这个批处理也行吧。

Takeru 发表于 2017-9-3 14:32:21

直接run這個bat?

yamakawa 发表于 2017-9-5 09:51:05

用第四个参数为0x8的run运行 sc query type= service state= all
用StdoutRead监听,获取run的输出,然后正则保存服务名和状态到二维数组,保存到某个文件

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

具体code你自己写,,不推荐伸手主义

yamakawa 发表于 2017-9-5 09:53:50

直接点击就自动运行也没什么难的,,
第一次运行,当前目录不存在记录文件,所以默认启动 备份模式
第二次运行,发现记录文件,启动恢复模式,获取用户许可后,恢复

txm888 发表于 2017-9-8 07:29:50

看不懂,bat都写得这么复杂

229989799 发表于 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 ' & 'remget 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 |findstrSTART_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)

zpmc123 发表于 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 ' & 'remget 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 |findstrSTART_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)

zpmc123 发表于 2017-9-8 11:51:47

回复 9# zpmc123


    没试 不知道行不行!

yamakawa 发表于 2017-9-8 22:56:41

{:face (197):}哈哈哈哈哈哈哈哈哈。。。。。

yamakawa 发表于 2017-9-8 22:57:33

逗死我了,,楼上两个哥们,,,,牛逼啊{:face (411):}
页: [1]
查看完整版本: 谁能帮忙把这个BAT转成AU3代码。