中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-13 19:19
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理整理文本,高手赐教,谢谢!
16 发表于 2008-09-07 22:23 ·  中国 江西 南昌 电信
中级用户
★★
积分 220
发帖 99
注册 2005-08-16 01:08
UID 41691
状态 离线
感谢huahua0919大大的正解

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir/b/a-d imw_*.txt') do (
for /f "skip=2 eol== delims=" %%a in ('type %%i') do (
set a=%%a
set a=!a:1015=小李!
set a=!a:1017=小林!
set a=!a:1020=小张!
set a=!a: =!
set a=!a:~,-1!
if not "!a!"=="" echo !a! >>linshi.txt
)
echo -------------------------------------------------------------------------------------------------->>linshi.txt
)

[ Last edited by hbby on 2008-9-7 at 11:19 PM ]
17 发表于 2008-09-07 22:33 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
type nul>"AllChat.log"
for /f "delims=" %%a in ('dir /s /b /a-d *.txt') do (
for /f "usebackq eol== tokens=1*" %%i in ("%%a") do (
if "%%i" neq "" (
if "%%j" neq "" (
set a=%%i
set b=%%j
set a=!a:1015=小李!
set a=!a:1017=小林!
set a=!a:1020=小张!
set a=!a: =!
set b=!b:1015=小李!
set b=!b:1017=小林!
set b=!b:1020=小张!
set b=!b: =!
>>"AllChat.log" echo !a!!b!
)
)
)
>>"AllChat.log" echo -----------------------------------------------------
)
18 Re 15楼 发表于 2008-09-07 22:35 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
ANSI编码的文本文件不需要预处理,unicode编码格式才需要(用type)。
19 发表于 2008-09-07 22:36 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
Originally posted by hbby at 2008-9-7 08:25 PM:
huahua0919,问题还是没解决哦,
1、没有遍历文件夹下所有的TXT文件,2、没有处理空行,
3、没有处理空格,
劳烦完善下,谢谢

dir命令不加/s开关是无法处理子文件夹下所有的TXT文件的
论坛跳转: