找回密码
 加入
搜索
查看: 2933|回复: 1

[AU3基础] 如何静默运行收集当前运行的服务的bat

[复制链接]
发表于 2010-8-20 11:14:00 | 显示全部楼层 |阅读模式
本帖最后由 23070205 于 2010-8-20 11:18 编辑

又遇到了问题,来请教大家。
FileInstall("系统服务优化打包文件.exe", '"' & @ScriptDir & "\系统服务优化打包文件.exe" & '"', 1)
If Not FileExists('"' & @ScriptDir & "\系统服务优化\服务备份.BAT" & '"') Then Run('"' & @ScriptDir & "\系统服务优化打包文件.exe" & '"' & " /s")
Sleep(500)
RunWait(@ComSpec & " /C " & '"' & @ScriptDir & "\系统服务优化\服务备份.BAT" & '"', @ScriptDir, @SW_HIDE)

以上为我要调用的代码。就是这个服务备份的bat,不能静默的用au3运行成功。
下面是这个服务备份的bat内容
@echo off
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=%FILENAME%_%%j_%%k.bat

rem get all service name
sc query type= service state= all| findstr /r /C:"SERVICE_NAME:" >tmpsrv.txt
echo Save Service Start State In %FILENAME%
rem save service start state into batch file
rem

echo @echo Restore The Service Start State Saved At %TIME% %DATE% >"%FILENAME%"
echo @pause >>"%FILENAME%"

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 sc config  %%j start= %%s >>"%FILENAME%")
echo @pause >>"%FILENAME%"

del tmpsrv.txt
del tmpstype.txt



现在生成的备份的bat代码为
@echo Restore The Service Start State Saved At 11:11:24.98 2010-08-20 星期五  
@pause
@pause

上面这个是没有完全收集成功的。
大家有没有这个方面的经验,怎么做到静默运行这个bat呢?
 楼主| 发表于 2010-8-20 11:15:46 | 显示全部楼层
本帖最后由 23070205 于 2010-8-20 11:17 编辑

我解释下为什么是@scriptdir当前路径了,还要加双引号,因为主要为了考虑带空格的目录的问题。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-21 22:26 , Processed in 0.077759 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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