[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何命令的结果赋值给变量并判断变量的值并处理

例如:
把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 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2

  1. (SC query RDIServer|find "STATE" |find "1")&&(phdctl stop/y & phdctl start)
复制代码
这个应该可以满足你的要求

TOP

  1. (SC query RDIServer|find "STATE" |find "1")&&(net stop RDIServer & net start RDIServer)
复制代码

TOP

新手尝试:
把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

TOP

回复 4楼 的帖子

代码超过一行时,请用code将代码括起来。
Q:如何用code将代码括起来?
A:http://www.bathome.net/viewthread.php?tid=404&highlight=code
(*^_^*)

TOP

谢谢各位大侠,我测试一下

TOP

还有   要查找文件的话   这个就可以  
dir /a-d /b c:\name.txt
要包含子目录的话可以这样:
dir /a-d /b /s c:\name.txt
然后后面跟个&&就可以执行找到文件后的命令了

TOP

回复 7楼 的帖子

(SC query RDIServer|find "STATE" |find "1")&&(net stop RDIServer & net start RDIServer)命令可行.
每半小时执行一次这个批处理,该如何做呢?

TOP

回复 3楼 的帖子

谢谢!问题已圆满解决

TOP

回复 8楼 的帖子

创建一个计划任务吧
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9楼 的帖子

问题得到解决后,请主动给标题前面添加【已解决】字样,谢谢。
(*^_^*)

TOP

返回列表