标题: [文本处理] [已解决]求助批处理怎么生成大小超过8k的文本? [打印本页]
作者: 13545876873 时间: 2024-11-8 14:25 标题: [已解决]求助批处理怎么生成大小超过8k的文本?
本帖最后由 13545876873 于 2024-11-10 10:10 编辑
我的解决办法比较蠢哈,都是在论坛上找的代码,组合使用 : ,麻烦大哥帮忙优化一下哈 :
1.把内容用excel函数分成两个小于8K的内容,然后生成两个txt文档,命名例如:lishi-1、lishi-2
2.用批处理把这两个txt文档放到同名文件夹(lishi)- @echo off
- cd /d "C:\Users\Administrator\Desktop\测试 "
- for /f "tokens=1* delims=-" %%a in ('dir /b /a-d *.txt') do (
- move "%%a-%%b" "C:\Users\Administrator\Desktop\测试 \%%a\"
- )
- pau
复制代码
3.把文件夹里的两个txt文档合并成一个,- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b /s /ad') do (
- echo 正在处理文件夹 %%a
- pushd "%%a"
- type *.txt>temp
- ren temp out.txt
- )
- popd
- )
复制代码
4.合并的txt文档名称都是OUT,在合并的txt文档前面加上相应的文件夹名- @echo off
- for /d %%i in (*) do (
- pushd "%%i"
- for /f "delims=" %%j in ('dir /b /a-d *.txt') do (
- ren "%%j" "%%i_%%j"
- )
- popd
- )
复制代码
5.再把所有子文件夹里的txt文档,都剪切出来- @echo off
- set var=E:\test
- for /r /d %%a in (*) do move "%%a\*txt" "%var%"
- pause
复制代码
6.把带有out字符的txt文档放一起,用更名器把out都删掉,剩下的就是我要的了:loveliness:
作者: aloha20200628 时间: 2024-11-8 15:28
回复 1# 13545876873
批处限制每个变量‘长度’至多为8k字符量...
楼主所谓超过8k的源数据来自什么格式文件?要将其写入什么格式文件?
作者: 13545876873 时间: 2024-11-8 16:06
回复 2# aloha20200628
感谢大哥的回复哈,这个问题我已经解决了。
我把一个大数据分成两个小于8k的数据,生成两个txt文件,然后再把两个文本合并成一个大的。。。。
作者: Batcher 时间: 2024-11-9 20:41
回复 3# 13545876873
代码发出来看看是否可以进一步优化?
作者: 13545876873 时间: 2024-11-10 10:08
回复 4# Batcher
大哥,一楼内容已修改,麻烦帮忙优化一下哈
作者: aloha20200628 时间: 2024-11-10 11:41
本帖最后由 aloha20200628 于 2024-11-10 13:45 编辑
回复 1# 13545876873
以下代码运行结果》将当前目录中每个子目录里的全部*.txt文件合并为一个txt文件,且用其所在目录名命名,再移动至 e:\test 目录中...
- @echo off &for /r /d %%d in (*) do (
- pushd "%%d"
- type *.txt>"e:\test\%%~nd.txt"
- popd
- ) 2>nul
- pause&exit/b
复制代码
作者: 13545876873 时间: 2024-11-10 12:16
回复 6# aloha20200628
大哥,运行结果有点问题哈:两个7k大小的文档,合并成了一个25k的文档,合并了两次。。。
作者: aloha20200628 时间: 2024-11-10 13:46
回复 7# 13545876873
6楼代码已订正,再试试吧...
作者: 13545876873 时间: 2024-11-10 15:27
回复 8# aloha20200628
运行结果很好,没问题了哈,感谢大哥
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |