中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 12:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:TXT文件拆分问题 查看 1,119 回复 3
楼 主 请教:TXT文件拆分问题 发表于 2008-05-08 02:10 ·  中国 湖南 湘潭 雨湖区 电信
初级用户
积分 47
发帖 16
注册 2008-05-06 12:59
18年会员
UID 117887
性别 男
状态 离线
问题1:TXT文件中有300行内容
请问如何将每60行另存为一个TXT文件
问题2:如何将生成后的文件中有特定字符(假设特定字符有C1)的行另存为其他文本文件
问题3:假设每行特定位置有数字 请问如何按要求将内容按指定位置数字大小递增排列
首先对回答者表示诚心的感谢 !!!!!
3的意思是:将文件中有特殊字符的行分别排放(比如1行:123c456789
2行:333c3245234
……c……
4行:123b456789
5行:234b345346
同样的道理集中排放)

[ Last edited by 99122524 on 2008-5-8 at 08:25 PM ]
2 发表于 2008-05-08 03:16 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
问题1:TXT文件中有300行内容
请问如何将每60行另存为一个TXT文件
问题2:如何将生成后的文件中有特定字符(假设特定字符有C1)的行另存为其他文本文件
问题3:假设每行特定位置有数字 请问如何按要求将内容按指定位置数字大小递增排列
首先对回答者表示诚心的感谢 !!!!!


1、会忽略空行
@echo off&setlocal enabledelayedexpansion
set m=0
set n=0
:1
if %m% equ 0 (set /a m+=1) else (set/a m+=60)
set/a n+=60
set x=0
for /f "tokens=*" %%a in (1.txt) do (
set /a x+=1
for /l %%i in (%m% 1 %n%) do if !x! equ %%i set str=%%a&echo !str!>>%n%.txt
)
if %n% lss 300 goto 1
pause


2、如果生成后的文件是由问题1得来的文件,那就如下:
for /l %%a in (60 60 300) do findstr /i "c1" %%a.txt>>res.txt

} ELSE {
 findstr /i "c1" Yourfile>>res.txt


3、米看懂。。。- -|||

[ Last edited by pusofalse on 2008-5-8 at 03:27 AM ]
3 发表于 2008-05-08 03:40 ·  中国 四川 成都 电信
中级用户
★★
积分 297
发帖 135
注册 2006-10-21 12:00
19年会员
UID 67627
性别 男
状态 离线
1

@echo off
setlocal EnableDelayedExpansion
set /a a=0
for /f "delims=" %%a in (1.txt) do (
set /a a+=1,b=(!a!-1)/60
if !b!==0 echo %%a>>60.txt
if !b!==1 echo %%a>>120.txt
if !b!==2 echo %%a>>180.txt
if !b!==3 echo %%a>>240.txt
if !b!==4 echo %%a>>300.txt
)


2

for /l %%a in (60 60 300) do findstr /i "c1" %%a.txt>>c1.txt


3假设每行第1-3个字符为特定位置

@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%a in (1.txt) do (
set line=%%a
set "line_tmp=!line:~0,3! !line!"
echo !line_tmp!>>temp.txt
)
for /f "tokens=1*" %%i in ('sort temp.txt') do echo %%j>>2.txt
del temp.txt
4 发表于 2008-05-08 11:13 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
1.

split -60 test.txt
论坛跳转: