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

参考此贴六楼,不知道对你有没有帮助
bat小白,请多指教!谢谢!

TOP

回复 3# 77七
或者参考6楼该成这样?
  1. @echo off
  2. Echo 12345 | FindStr 123 && set "a=yes" || set "a=no"
  3. echo %a%
  4. pause
复制代码
bat小白,请多指教!谢谢!

TOP

"所以,我想把1.txt里的各行通过 | 给FindStr去过滤,其结果要输出出来。
现在,问题就卡在如何把FindStr过滤后的结果输出出来。"
这放在1楼说不好吗...1楼描述都不清晰,大家怎么帮助你...看似1234点,实则大家都不知道你在说什么...

输出到文本里呢?
  1. (findstr 123 "1.txt")>>out.txt
复制代码
(发帖建议参考有偿求助区的格式发帖
需求描述:
(1)系统环境(XP/Win7/Win10/Win11,中文版/英文版,专业版/家庭版/精简版,等)
(2)想要实现的功能的具体描述
(3)测试数据及期待结果
(4)其它补充信息
bat小白,请多指教!谢谢!

TOP

回复 10# smatenchen
这样不知道对不对
  1. @echo off
  2. For /F %%a In (1.txt) Do (
  3.   Echo %%a| FindStr 123 && ( echo 正在处理含123的:%%a ) || ( echo 正在处理不含123的:%%a )
  4. )
  5. pause
复制代码
bat小白,请多指教!谢谢!

TOP

本帖最后由 77七 于 2022-11-13 11:42 编辑
  1. @echo off
  2. For /F %%a In (1.txt) Do (
  3.   Echo %%a| FindStr 123 && ( set "h=%%a" ) || ( set "k=%%a" )
  4. )
  5. rem h为包含 k为不包含
  6. pause
复制代码
自己加一个不就行了...
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. For /F %%a In (1.txt) Do (
  4.   Echo %%a| FindStr 123 && ( set "h=%%a" & call :al ) || ( set "k=%%a" & call :a2 )
  5. )
  6. pause
  7. :al
  8. echo al方法正在处理含123:!h!
  9. exit /b
  10. :a2
  11. echo a2方法正在处理不含123:!k!
  12. exit /b
复制代码
bat小白,请多指教!谢谢!

TOP

本帖最后由 77七 于 2022-11-13 12:01 编辑

"比如,
把它设为某个变量,以后随时都可以调用它。"
"随时"不知道如何理解...手动处理吗...

"还有,就是如何让它起判断语句的作用,用FindStr过滤后给出1个判断结果,
再据此,连接1个命令对它做处理。类似,for里的do,if后接的命令。"

你得具体举例,不要只描述,要提供测试数据,及期待效果。不要说的太笼统。
你重新编辑1楼吧,说详细点,找大神帮你,一次性说清楚问题。
(发帖建议参考有偿求助区的格式发帖
需求描述:
(1)系统环境(XP/Win7/Win10/Win11,中文版/英文版,专业版/家庭版/精简版,等)
(2)想要实现的功能的具体描述
(3)测试数据及期待结果
(4)其它补充信息
bat小白,请多指教!谢谢!

TOP

返回列表