标题:
[文本处理]
批处理怎样批量删除TXT文本中一半内容?
[打印本页]
作者:
mgcxq
时间:
2010-6-19 19:31
标题:
批处理怎样批量删除TXT文本中一半内容?
批量删除多个不同名称的TXT文本中后半内容?的批处理!望高手帮个忙!
1,批量?要多多个文本都做同样操作?
50个!TXT文本名称 不 定!
2,一半的标准是什么?行数的一半?字数的一半?还是字节数的一半?
是 字节数的一半!
3,当被分割数为奇数时要加1还是要减1处理?
加1 就可以了!
4,一半?要删除的是前半部分,还是后半部分?
后半部分!
5,单个的文本内容是否很多?
文件内容 一般在100KB-2MB之间
================
谢谢你 !
[
本帖最后由 mgcxq 于 2010-6-20 13:31 编辑
]
作者:
s700800900
时间:
2010-6-19 19:45
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%b in ('dir /b "*.txt"') do (
set n=0
for /f "delims=" %%a in (%%b) do (
set /a n=n+1
)
set /a n=%n%/2
set i=0
for /f "delims=" %%a in (%%b) do (
echo %%a>>%%~nb_new.txt
set /a i=i+1
if !i! equ !n! exit
)
)
pause
和你的txt文档保存在一起。
[
本帖最后由 s700800900 于 2010-6-19 19:55 编辑
]
作者:
s700800900
时间:
2010-6-19 19:46
把前一半的内容提取出来。。。先计算整个文本有多少行,然后提取出一半。大概是这个原理
作者:
mgcxq
时间:
2010-6-19 19:50
谢谢你! 非常感谢
但是我的TXT文本没有 1.txt!
作者:
s700800900
时间:
2010-6-19 19:51
自已修改呗?或者你说的是一群TXT文档?
作者:
hanyeguxing
时间:
2010-6-19 19:52
1,批量?要多多个文本都做同样操作?
2,一半的标准是什么?行数的一半?字数的一半?还是字节数的一半?
3,当被分割数为奇数时要加1还是要减1处理?
4,一半?要删除的是前半部分,还是后半部分?
5,单个的文本内容是否很多?
[
本帖最后由 hanyeguxing 于 2010-6-19 19:54 编辑
]
作者:
mgcxq
时间:
2010-6-19 19:58
标题:
回复 6楼 的帖子
1,批量?要多多个文本都做同样操作?
50个!TXT文本名称 不 定!
2,一半的标准是什么?行数的一半?字数的一半?还是字节数的一半?
是 字节数的一半!
3,当被分割数为奇数时要加1还是要减1处理?
加1 就可以了!
4,一半?要删除的是前半部分,还是后半部分?
后半部分!
5,单个的文本内容是否很多?
文件内容 一般在100KB-2MB之间
================
谢谢你 !
[
本帖最后由 mgcxq 于 2010-6-19 20:04 编辑
]
作者:
mgcxq
时间:
2010-6-19 19:59
标题:
回复 5楼 的帖子
一群 随机名称的TXT文本!
作者:
mgcxq
时间:
2010-6-19 20:34
标题:
回复 2楼 的帖子
找不到操作数,怎么办啊!
作者:
mgcxq
时间:
2010-6-19 23:01
标题:
批量删除多个不同名称的TXT文本中后半内容?
的批处理!望高手帮个忙!
1,批量?要多多个文本都做同样操作?
50个!TXT文本名称 不 定!
2,一半的标准是什么?行数的一半?字数的一半?还是字节数的一半?
是 字节数的一半!
3,当被分割数为奇数时要加1还是要减1处理?
加1 就可以了!
4,一半?要删除的是前半部分,还是后半部分?
后半部分!
5,单个的文本内容是否很多?
文件内容 一般在100KB-2MB之间
================
谢谢你 !
作者:
sgaizxt001
时间:
2010-6-19 23:41
有点难度。假如某个文本中的内容是:1啊
3个字节,按楼主要求取2个字节时,该如何处理呢?输出“1 ”或者1或者1啊?
split.exe可以分割,但是我不知道他的参数是怎么样的
作者:
Seter
时间:
2010-6-20 08:42
文本内容是:BS吖LZ
6个字节,中间的吖怎么分?
作者:
zqz0012005
时间:
2010-6-20 13:25
标题:
回复 10楼 的帖子
请楼主把描述放在顶楼!
作者:
ZJHJ
时间:
2010-6-20 22:00
split -b 为字节
split -l 为行
我还没有发现用批处理解决按字节分割并保持原来排列格式的。
我写过用debug只能提取前半部分小于64K的。(因为受64K限制,没有什么实际意义)
[
本帖最后由 ZJHJ 于 2010-6-20 22:11 编辑
]
作者:
ZJHJ
时间:
2010-6-22 08:09
要方便解决楼主的问题,只有用三方了。如果用批处理,也不是不能解决,有点很麻烦。首先要保持原有格式,批处理要读取%%~zi是以行读取的,不可能得到非常准确的字节。除非先将原文件用批分割成接近要求的字节,差的部分不大于64K,用debug获取差的部分。再进行合并。不过是要花费时间的。
欢迎光临 批处理之家 (http://www.bathome.net/)
Powered by Discuz! 7.2