找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22982|回复: 9

[文本处理] 【已解决】bat文件处理含较多数据txt时无结果

[复制链接]
发表于 2022-1-23 15:06:51 | 显示全部楼层 |阅读模式
本帖最后由 VinC 于 2022-2-20 09:12 编辑

想将txt文件中的数据(以“和空格分隔)变成1列(即每个数是一行)并存入test.csv,我写了如下代码,经测试该代码对数据量少的txt文件是可行的,但是含有较多数据时就不能了,test.csv中空白。请教是什么问题?

数据例子:1 2 3
变成1
      2
      3
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=  tokens=*" %%a in (01.txt) do (
  3.    for %%B in (%%a) do echo %%B
  4. ))>"test.csv"
  5. pause&exit
复制代码
发表于 2022-1-23 19:24:50 | 显示全部楼层
可能是突破了Excel行数最大值。
其外没有发现有问题。
发表于 2022-1-23 22:52:28 | 显示全部楼层
回复 1# VinC


    含有较多数据的文件有多大?请压缩之后上传网盘,以便他人理解需求、测试代码。
 楼主| 发表于 2022-1-25 14:14:11 | 显示全部楼层
回复 3# Batcher


    您好,我已经测试数据上传至百度网盘,请帮我测试下,谢谢啦(链接:https://pan.baidu.com/s/1KxhMnbmkMfdw_cRpESVVZg
提取码:ft5i)
 楼主| 发表于 2022-1-25 14:15:57 | 显示全部楼层
回复 2# hlzj88


    应该不会,因为成功的数据只有几百行。我已经数据传输至百度网盘,您方便的话帮我看一下是啥问题,谢谢了(链接:https://pan.baidu.com/s/1KxhMnbmkMfdw_cRpESVVZg
提取码:ft5i)
 楼主| 发表于 2022-1-25 14:16:53 | 显示全部楼层
相应的数据我已上传至网盘,请各位帮忙看一下,谢谢啦(链接:https://pan.baidu.com/s/1KxhMnbmkMfdw_cRpESVVZg
提取码:ft5i)
发表于 2022-1-25 15:13:30 | 显示全部楼层
回复 4# VinC


看过你的原始文件之后发现不是行太多,而是列太多。试试这样:
  1. @echo off
  2. powershell -c "Get-Content 01.csv | Foreach-Object {$_ -replace """`t""", """`r`n"""}" > 01_New.csv
复制代码

评分

参与人数 1技术 +1 收起 理由
VinC + 1 乐于助人

查看全部评分

发表于 2022-1-25 15:44:25 | 显示全部楼层
借助certutil
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. REM 输入 01.csv
  4. set "in_file=01.csv"
  5. REM 输出 test.csv
  6. set "out_file=test.csv"
  7. REM 处理
  8. del /f tmp.hex >nul 2>nul
  9. certutil -encodehex 01.csv t1.hex
  10. (
  11.         for /f "delims=" %%i in (t1.hex) do (
  12.                 set "line=%%i"
  13.                 REM 空格,制表符,双引号替换
  14.                 for %%a in (09 20 22) do set "line=!line:%%a =0a !"
  15.                 echo !line!
  16.         )
  17. )>"t2.hex"
  18. certutil -decodehex t2.hex test.csv
  19. del t*.hex
  20. pause&exit
复制代码

评分

参与人数 2技术 +2 收起 理由
VinC + 1 乐于助人
for_flr + 1 厉害

查看全部评分

 楼主| 发表于 2022-2-20 09:19:14 | 显示全部楼层
回复 7# Batcher


    感谢帮助,简单的一行代码就能解决大问题,厉害厉害!已申请加群,希望能向各位大佬学习(由于前段时间一直在弄别的事情,没及时登录)
 楼主| 发表于 2022-2-20 09:20:43 | 显示全部楼层
回复 8# went


    谢谢帮助,虽然还没懂为啥这么写,但是亲测管用!(由于前段时间在忙别的事情,所以一直没登录批处理之家)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 11:24 , Processed in 0.020119 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表