[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  4.     set n=0
  5.     for /f "usebackq delims=" %%j in ("%%i") do (
  6.         set "str=%%j"
  7.         if "!str:~,7!"=="#. Key:" set n=1
  8.         if !n! equ 1 echo,%%j
  9.         if "%%j"=="msgstr """ echo,&set n=0
  10.     )
  11. )
  12. pause
复制代码

TOP

本帖最后由 qixiaobin0715 于 2022-6-20 17:08 编辑

回复 3# elf_zhou
如果附件中的txt文件只有一个,假设为1.txt,将下面代码另存为ANSI编码:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set hh=^
  4. (for /f "delims=" %%i in (1.txt) do (
  5.     set "str1=%%i"
  6.     if "!str1:~,7!"=="#. Key:" set n=1
  7.     if !n! equ 1 set str=!str!!hh!%%i
  8.     if "!str1:~,6!"=="msgstr" (
  9.         set n=0
  10.         if "%%i"=="msgstr """ echo,!str!
  11.         set str=
  12.     )
  13. ))>new_1.txt
  14. pause
复制代码
上面第4、5行空行要保留,不要去除。
1

评分人数

TOP

回复 6# elf_zhou
已修改
1

评分人数

TOP

本帖最后由 qixiaobin0715 于 2022-7-12 15:17 编辑

回复 8# hfxiang
单行长度不超过8192应当可以通过set /p可以实现,不会像楼主要求的那么精确。未试过。

TOP

返回列表