Board logo

标题: [文本处理] [已解决]求助批处理怎么生成大小超过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)
  1. @echo off
  2. cd /d "C:\Users\Administrator\Desktop\测试 "
  3. for /f "tokens=1* delims=-" %%a in ('dir /b /a-d *.txt') do (  
  4.     move "%%a-%%b" "C:\Users\Administrator\Desktop\测试 \%%a\"
  5. )
  6. pau
复制代码
3.把文件夹里的两个txt文档合并成一个,
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b /s /ad') do (
  4.     echo 正在处理文件夹 %%a
  5.     pushd "%%a"
  6.   type *.txt>temp
  7. ren temp out.txt
  8. popd
  9. )
复制代码
4.合并的txt文档名称都是OUT,在合并的txt文档前面加上相应的文件夹名
  1. @echo off
  2. for /d %%i in (*) do (
  3.     pushd "%%i"
  4.     for /f "delims=" %%j in ('dir /b /a-d *.txt') do (
  5.         ren "%%j" "%%i_%%j"
  6.     )
  7.     popd
  8. )
复制代码
5.再把所有子文件夹里的txt文档,都剪切出来
  1. @echo off
  2. set var=E:\test
  3. for /r /d %%a in (*) do move "%%a\*txt" "%var%"
  4. 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 目录中...
  1. @echo off &for /r /d %%d in (*) do (
  2. pushd "%%d"
  3. type *.txt>"e:\test\%%~nd.txt"
  4. popd
  5. ) 2>nul
  6. 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