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

回复 6楼 的帖子

为什么在引号里出现!只需要一个^呢?有感叹号不是需要预处理两次的么?
Still with wax

TOP

小弟改成 查找前先 setlocal disabledelayedexpansion
查找后再 setlocal enabledelayedexpansion
这样真的就可以了

另外再查找 ! 时,小弟用 ^! 转义不行,要用 \! 才行....

TOP

请问版主 findstr /n 参数的意义是什么?
我在findstr /? 里并没有看到 /n 参数的介绍?

TOP

  1. @echo off
  2. rem if here, echo lines including %% and ! are:
  3. setlocal enabledelayedexpansion
  4. echo 包含%%和^^^!的行:
  5. for /f "delims=:" %%a in ('findstr /n "%% ^!" 123.txt') do echo %%a
  6. pause
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

回复 4楼 的帖子

个人觉得找!最好在关闭延迟的情况下。
Still with wax

TOP

......可是小弟的程序,之前必须用到很多变量延迟....
在此指令前先关闭变量延迟,执行完后再打开吗??

TOP

这里变量延迟可以不打开

TOP

我發現找 "%" 問題是小 , 但是就是找不了  "!"
保存為文件123.txt
  1. @echo off
  2. echo %var%
  3. echo !var!
  4. pause
复制代码
例子1︰找% (成功)
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('type 123.txt') do (
  4. echo %%a|findstr "%%">nul && (echo yes)
  5. echo %%a|findstr "%%">nul || (echo no)
  6. )
  7. pause
  8. exit
复制代码
例子2︰找! (失敗...)
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('type 123.txt') do (
  4. echo %%a|findstr "\!">nul && (echo yes)
  5. echo %%a|findstr "\!">nul || (echo no)
  6. )
  7. pause
  8. exit
复制代码

[ 本帖最后由 strong12345 于 2009-8-19 08:39 编辑 ]

TOP

返回列表