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

[文本处理] 批处理怎么判断文本指定行中是否存在指定单词?

怎样实现检查文本中第一个带有某一单词的行中是否存在另一单词。
我想做一个可以自动装系统的批处理。发了一个“怎么区分硬盘的贴子”没人回。
思路是这样的。用U盘winpe起动电脑,然后在连接移动硬盘。运行U盘里的批处理自动把移动硬盘的镜像文件恢复到电脑上的硬盘里。正常情况下电脑本身硬盘为 1  ,U盘为 2 ,移动硬盘为 3,所以我就用(ghost.exe -clone,mode=load,src=3.1\429.gho,dst=1, -sure -rb).但有时候用U盘起动后U盘为第一块盘。就会把镜像恢复到U盘上去。我的思路是先用ghost -dd成生一个GHSTSTAT.TXT文件,然后在文件里检查(Drive 0 Hitachi HTS545032B9A300 100425PBPC031DE0V24L)这一行中是否包含“Kingston”(我用的是金士顿的U盘)这个词。如果有就运行(ghost.exe -clone,mode=load,src=3.1\429.gho,dst=2, -sure -rb)如果没有就运行(ghost.exe -clone,mode=load,src=3.1\429.gho,dst=1, -sure -rb)。

[ 本帖最后由 wfnydx 于 2010-6-15 16:12 编辑 ]

多谢,是否可以改成检查文本中第一个带有某一单词的行中是否存在另一单词

TOP

多谢寒夜孤星,比以前方便多了。最后后写成这样的。
  1. @echo off
  2. del ghststat.txt
  3. ghost -dd
  4. @echo off&setlocal enabledelayedexpansion
  5. for /f "delims=" %%a in (GHSTSTAT.txt) do set "a=%%a"&if not "!a!"=="!a:Drive 0=!" if not "!a!"=="!a:Kingston=!" goto:han
  6. echo.注意对应机型&pause&ghost.exe -clone,mode=load,src=3.1\429x.gho,dst=1, -sure -rb
  7. exit
  8. :han
  9. echo.注意对应机型:%a%&pause&ghost.exe -clone,mode=load,src=3.1\429x.gho,dst=2, -sure -rb
  10. exit
复制代码

TOP

返回列表