标题: [文本处理] [已解决]批处理如何命令的结果赋值给变量并判断变量的值并处理 [打印本页]
作者: free_ming 时间: 2009-6-26 11:56 标题: [已解决]批处理如何命令的结果赋值给变量并判断变量的值并处理
例如:
把dir c:的的结果赋值给变量A, 判断A中是否有 文件1和文件2, 如果有, 则将文件1拷贝到d:\, 将文件2删除
起因是这样的:
有一个软件 PHDSERVER 运行后,共启了5个服务 RDIServer,legacserver......等,因为未知原因致使RDIServer服务经常莫名其妙的停止,解决办法就是先停一下 (phdctl stop/y),然后,重新启动(phdctl start)问题就解决了. 通过 SC query RDIServer|find "STATE" 可以得到"STATE : 1 STOPED"的结果,如何判断其中的关键字"1"或是"STOPED",然后执行(phdctl stop/y)和(phdctl start)两条命令问题就可以解决. 请大侠们指点
[ 本帖最后由 free_ming 于 2009-6-29 09:46 编辑 ]
作者: stuqx 时间: 2009-6-26 13:14
- (SC query RDIServer|find "STATE" |find "1")&&(phdctl stop/y & phdctl start)
复制代码
这个应该可以满足你的要求
作者: stuqx 时间: 2009-6-26 13:17
- (SC query RDIServer|find "STATE" |find "1")&&(net stop RDIServer & net start RDIServer)
复制代码
作者: tario 时间: 2009-6-26 13:56
新手尝试:
把dir c:的的结果赋值给变量A, 判断A中是否有 文件1和文件2, 如果有, 则将文件1拷贝到d:\, 将文件2删除
@echo off
dir C:\ /a-d /b > %tmp%\tmp.txt
find "文件1" %tmp%\tmp.txt 1>nul 2>nul
if errorlevel 1 goto:eof
if errorlevel 0 (
find "文件2" %tmp%\tmp.txt 1>nul 2>nul
if errorlevel 1 goto:eof
if errorlevel 0 (
copy /z c:\文件1 d:\
del /q c:\文件2
)
)
del %tmp%\tmp.txt
作者: keen 时间: 2009-6-26 14:46 标题: 回复 4楼 的帖子
代码超过一行时,请用code将代码括起来。
Q:如何用code将代码括起来?
A:http://www.bathome.net/viewthread.php?tid=404&highlight=code
作者: free_ming 时间: 2009-6-26 15:22
谢谢各位大侠,我测试一下
作者: stuqx 时间: 2009-6-26 16:04
还有 要查找文件的话 这个就可以
dir /a-d /b c:\name.txt
要包含子目录的话可以这样:
dir /a-d /b /s c:\name.txt
然后后面跟个&&就可以执行找到文件后的命令了
作者: free_ming 时间: 2009-6-26 16:59 标题: 回复 7楼 的帖子
(SC query RDIServer|find "STATE" |find "1")&&(net stop RDIServer & net start RDIServer)命令可行.
每半小时执行一次这个批处理,该如何做呢?
作者: free_ming 时间: 2009-6-26 18:19 标题: 回复 3楼 的帖子
谢谢!问题已圆满解决
作者: Batcher 时间: 2009-6-26 20:32 标题: 回复 8楼 的帖子
创建一个计划任务吧
作者: keen 时间: 2009-6-26 21:26 标题: 回复 9楼 的帖子
问题得到解决后,请主动给标题前面添加【已解决】字样,谢谢。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |