谁能帮忙把这个BAT转成AU3代码。
echo offecho 正在备份服务,如果优化出了问题您可以及时
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.
自己多动手,万事先自己尝试再求别人,你这样很容易被封帖。 直接打包这个批处理也行吧。 直接run這個bat? 用第四个参数为0x8的run运行 sc query type= service state= all
用StdoutRead监听,获取run的输出,然后正则保存服务名和状态到二维数组,保存到某个文件
恢复的时候同样操作,获取当前状态到另一个二维数组,然后对比,sc start “服务名”
具体code你自己写,,不推荐伸手主义 直接点击就自动运行也没什么难的,,
第一次运行,当前目录不存在记录文件,所以默认启动 备份模式
第二次运行,发现记录文件,启动恢复模式,获取用户许可后,恢复 看不懂,bat都写得这么复杂 本帖最后由 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)
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) 回复 9# zpmc123
没试 不知道行不行! {:face (197):}哈哈哈哈哈哈哈哈哈。。。。。 逗死我了,,楼上两个哥们,,,,牛逼啊{:face (411):}
页:
[1]