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


1,
非常感谢!


2,
你的看法很好!我也想如此!
感谢!

TOP

先输出到文件,然后再
set /p XXX=<XXX.TXT

TOP

回复 17# BAT221110


1,
非常感谢!


2,
的确是,
不过这会多出1个临时文件XXX.TXT,这就不够完美了。

TOP

又是findstr,又是管道,又是组合命令,恐怕效率会成问题吧。
还不如用几个判断语句就ok了,虽然感觉也不是很理想,应当能凑合使用吧:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (1.txt) do (
  4.     set str=%%i
  5.     if "!str:~,1!"=="[" (
  6.         if "%%i"=="[222]" (
  7.             set n=true
  8.             echo,%%i
  9.         ) else (
  10.             set n=
  11.         )
  12.     )
  13.     if not defined n echo,%%i
  14. )
  15. pause
复制代码
代码未经测试。

TOP

本帖最后由 smatenchen 于 2022-11-16 15:20 编辑

回复 19# qixiaobin0715 77七 terse BAT221110 hfxiang idwma

1,
非常感谢!


2,
删除1.txt里某段落里各行的问题,我已经弄好了,现已在使用它了。


3,
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in (1.txt) do (
  4.     set str=%%i
  5.     if "!str:~,1!"=="[" (
  6.         if "%%i"=="[222]" (
  7.             set n=true
  8.             echo,%%i
  9.         ) else (
  10.             set n=
  11.         )
  12.     )
  13.     if not defined n echo,%%i
  14. )
  15. pause
复制代码


你的代码有效,可以解题,就是if套if,再接else,句子有点长。
我也是用了3个if句,但省去了else,句子稍短了一点。
解法大同小异。


3,
感谢大神们帮忙!
非常感谢!

TOP

返回列表