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

[文本处理] 批处理怎样批量删除TXT文本中一半内容?

批量删除多个不同名称的TXT文本中后半内容?的批处理!望高手帮个忙!

1,批量?要多多个文本都做同样操作?
50个!TXT文本名称 不 定!

2,一半的标准是什么?行数的一半?字数的一半?还是字节数的一半?
是 字节数的一半!

3,当被分割数为奇数时要加1还是要减1处理?
加1 就可以了!

4,一半?要删除的是前半部分,还是后半部分?
后半部分!

5,单个的文本内容是否很多?
文件内容 一般在100KB-2MB之间

================

谢谢你 !

[ 本帖最后由 mgcxq 于 2010-6-20 13:31 编辑 ]

@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 编辑 ]

TOP

把前一半的内容提取出来。。。先计算整个文本有多少行,然后提取出一半。大概是这个原理

TOP

谢谢你! 非常感谢
但是我的TXT文本没有  1.txt!

TOP

自已修改呗?或者你说的是一群TXT文档?

TOP

1,批量?要多多个文本都做同样操作?
2,一半的标准是什么?行数的一半?字数的一半?还是字节数的一半?
3,当被分割数为奇数时要加1还是要减1处理?
4,一半?要删除的是前半部分,还是后半部分?
5,单个的文本内容是否很多?

[ 本帖最后由 hanyeguxing 于 2010-6-19 19:54 编辑 ]
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 6楼 的帖子

1,批量?要多多个文本都做同样操作?
50个!TXT文本名称 不 定!

2,一半的标准是什么?行数的一半?字数的一半?还是字节数的一半?
是 字节数的一半!

3,当被分割数为奇数时要加1还是要减1处理?
加1 就可以了!

4,一半?要删除的是前半部分,还是后半部分?
后半部分!

5,单个的文本内容是否很多?
文件内容 一般在100KB-2MB之间

================

谢谢你 !

[ 本帖最后由 mgcxq 于 2010-6-19 20:04 编辑 ]

TOP

回复 5楼 的帖子

一群 随机名称的TXT文本!

TOP

回复 2楼 的帖子

找不到操作数,怎么办啊!

TOP

批量删除多个不同名称的TXT文本中后半内容?

的批处理!望高手帮个忙!

1,批量?要多多个文本都做同样操作?
50个!TXT文本名称 不 定!

2,一半的标准是什么?行数的一半?字数的一半?还是字节数的一半?
是 字节数的一半!

3,当被分割数为奇数时要加1还是要减1处理?
加1 就可以了!

4,一半?要删除的是前半部分,还是后半部分?
后半部分!

5,单个的文本内容是否很多?
文件内容 一般在100KB-2MB之间

================

谢谢你 !

TOP

有点难度。假如某个文本中的内容是:1啊
3个字节,按楼主要求取2个字节时,该如何处理呢?输出“1 ”或者1或者1啊?

split.exe可以分割,但是我不知道他的参数是怎么样的
努力学习,努力挣分

TOP

文本内容是:BS吖LZ
6个字节,中间的吖怎么分?
OrzDEF

TOP

回复 10楼 的帖子

请楼主把描述放在顶楼!
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

split -b 为字节

split -l 为行

我还没有发现用批处理解决按字节分割并保持原来排列格式的。

我写过用debug只能提取前半部分小于64K的。(因为受64K限制,没有什么实际意义)

[ 本帖最后由 ZJHJ 于 2010-6-20 22:11 编辑 ]

TOP

要方便解决楼主的问题,只有用三方了。如果用批处理,也不是不能解决,有点很麻烦。首先要保持原有格式,批处理要读取%%~zi是以行读取的,不可能得到非常准确的字节。除非先将原文件用批分割成接近要求的字节,差的部分不大于64K,用debug获取差的部分。再进行合并。不过是要花费时间的。

TOP

返回列表