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

发了图,没想到压缩到这么模糊,我还是用文字说明吧
文件名:200718_0844.txt这个文件有382 -v143788这个订单,但即便用:
findstr "382 -v143788" 200718_0844.txt > sum.txt 或者:
findstr /c:"382 -v143788" 200718_0844.txt > sum.txt都检索不到数据

TOP

16# ftjm268
如果你不介意的话,你发一小段你的文件内容上来分析,当然,为防止泄密,你可以修改一下,将其他一些无用的内容替换。
这应该是最快的方法,免得你说不清楚我们也搞不懂。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

16# ftjm268  
如果你不介意的话,你发一小段你的文件内容上来分析,当然,为防止泄密,你可以修改一下,将其他一些无用的内容替换。
这应该是最快的方法,免得你说不清楚我们也搞不懂。
cjiabing 发表于 2011-7-20 13:31


SQ023F|3|U|107 -D1028343|000057|000|X5|X|||802|P02|050|PSHD-999  +|A||20110715|000
SQ023A|3|A|382 -V143788||000|||10||1184||20110715|20110715|0000000||946179|V143788|20110715||E|OT||||AF|Y|F27|20110916|005|2|X||382|030|060|030||000|000|000||000|000|000||000|000|000|000|N|0|1|2|B|V143788||20110715|000

好的,我就发两行吧,有个案例就好,我要第二行订单号是:382 -V143788的整行数据。

TOP

加上 /i 参数忽略大小写:
:echo off
u:
cd MTN\OPSDATA_BKUP
set str="382 -v143788"
set file="200718*.txt"
type %file% 2>nul | findstr /i /c:%str% >sum.txt
for /f %%a in (' "type %file% 2>nul | find /i /c %str%" ') do set n=%%a
echo %n%
pause

N=0


-------------------

2>nul 是用来屏蔽错误输出。
1

评分人数

    • ftjm268: 给予我很大的技术支持技术 + 1

TOP

加上 /i 参数忽略大小写:


-------------------

2>nul 是用来屏蔽错误输出。
tmplinshi 发表于 2011-7-20 16:05



可以了,谢谢shi兄指教

TOP

  1. @echo off
  2. (For /f "tokens=2 delims=:" %%i in ('findstr "1" a*.txt ') do Echo %%i)>b.txt
  3. pause
复制代码

TOP

19# tmplinshi
type %file% 2>nul | findstr /i /c:%str% >sum.txt
for /f %%a in (' "type %file% 2>nul | find /i /c %str%" ') do set n=%%a
本人新手,在学习中。有点不明白。为什么用了findstr还要用find呢?还有,findstr是不是不能用在for里?

TOP

22# q115643492


追求高效率。
能放在for循环,但是通常会降低效率。

TOP

本帖最后由 tmplinshi 于 2011-7-22 13:48 编辑
19# tmplinshi
type %file% 2>nul | findstr /i /c:%str% >sum.txt
for /f %%a in (' "type %file% 2>nul | find /i /c %str%" ') do set n=%%a
本人新手,在学习中。有点不明白。为什么用了findstr还要用find呢 ...
q115643492 发表于 2011-7-22 11:10

为了代码更简短、易读。
可以像 9 楼 一样只用一个 find。

TOP

返回列表