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

[文本处理] [已解决]求助批处理怎么生成大小超过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:
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 8# aloha20200628
运行结果很好,没问题了哈,感谢大哥

TOP

回复 7# 13545876873

6楼代码已订正,再试试吧...

TOP

回复 6# aloha20200628

大哥,运行结果有点问题哈:两个7k大小的文档,合并成了一个25k的文档,合并了两次。。。

TOP

本帖最后由 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
复制代码
1

评分人数

TOP

回复 4# Batcher

大哥,一楼内容已修改,麻烦帮忙优化一下哈

TOP

回复 3# 13545876873


    代码发出来看看是否可以进一步优化?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# aloha20200628


    感谢大哥的回复哈,这个问题我已经解决了。
我把一个大数据分成两个小于8k的数据,生成两个txt文件,然后再把两个文本合并成一个大的。。。。

TOP

回复 1# 13545876873

批处限制每个变量‘长度’至多为8k字符量...
楼主所谓超过8k的源数据来自什么格式文件?要将其写入什么格式文件?
1

评分人数

TOP

返回列表