找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28844|回复: 6

[文本处理] BAT查找字符串找不到时怎么输出找不到?

[复制链接]
发表于 2013-9-5 13:17:27 | 显示全部楼层 |阅读模式
  1. findstr /i "张芳 施洁 徐德俊 赵淑 石静 徐霞" employee.txt >a.txt
  2. if errorlevel==1
  3. echo 找不到
复制代码
我想输出找不到人的名字,怎么写?
发表于 2013-9-5 13:43:45 | 显示全部楼层
  1. @echo off
  2. set str=张芳 施洁 徐德俊 赵淑 石静 徐霞 徐俊
  3. (for %%i in (%str%) do echo %%i)>"%temp%\$"
  4. findstr /ixg:"%temp%\$" employee.txt >a.txt
  5. findstr /ivxg:employee.txt "%temp%\$"
  6. del "%temp%\$"
  7. pause
复制代码
发表于 2013-9-6 16:32:38 | 显示全部楼层
@echo off
:lp
set /a cc+=1
for /f "tokens=%cc%" %%i in (2.txt) do (
echo %%i >>4.txt
)
if %cc% gtr 1000 call :pl
goto lp
:pl
set "str=李明 杨刚 阿亚 天天 张三 李四 王五  麻子  麻六 阿狎"
for  %%j in (%str%) do (
find "%%j" 4.txt >nul || echo %%j
)
pause
换个思路,来个蜗牛式的
发表于 2013-9-6 21:34:50 | 显示全部楼层
6个单独的查找,每成功一个不返回任何内容。每失败一个,结果的字符串就加上这个人的名字,最后打印结果。
发表于 2013-9-6 21:41:55 | 显示全部楼层
  1. grep -vE "张芳|施洁|徐德俊|赵淑|石静|徐霞" a.txt | more > b.txt
复制代码
发表于 2013-9-6 22:19:26 | 显示全部楼层
  1. @echo off
  2. set "name=张芳 施洁 徐德俊 赵淑 石静 徐霞"
  3. for %%a in (%name%) do (findstr "%%a" employee.txt >nul||echo %%a>>nofind.txt)
  4. pause
复制代码
发表于 2013-11-28 23:27:36 | 显示全部楼层
路过看看!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 00:37 , Processed in 0.032098 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表