批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[文本处理] 批处理,txt文本内容输出到csv文件中

批处理,txt文本内容输出到csv文件中;


我写了一个bat处理txt文本文件内容,输出到csv文件中。
然后我的文本文件中有,012,023,045,这种0开头的数据;
处理以后生成到csv文件以后,开头的0不见了,如何在bat中进行处理。ps文件量比较大,不适合手动修改csv文件格式。
1是txt文件内容
2021-07-20 09:14:54,878    657    68    1327    -5   
2021-07-20 09:14:55,868    668    68    1331    -5   
2021-07-20 09:16:27,576    830    60    1428    -5   
2021-07-20 09:16:27,086    830    60    1428    -5   
2021-07-20 09:19:06,066    715    53    1368    -5   
2021-07-20 09:19:07,066    723    51    1362    -5   
2021-07-20 09:19:30,846    597    45    1280    -5   
2021-07-20 09:19:31,836    604    49    1282    -5   
2021-07-20 09:20:01,006    804    52    1408    -5   
2021-07-20 09:20:02,006    796    52    1404    -5   
2021-07-20 09:21:30,845    1357    72    1658    -4   
2021-07-20 09:21:31,845    1424    74    1660    -5   
2021-07-20 09:21:59,165    1244    64    1609    -5   
2021-07-20 09:22:00,155    1187    62    1594    -5   
2021-07-20 09:25:24,747    801    66    1404    -5   

2是代码

@echo off
rem 保存为bat文件跟txt文件放一起运行
md %~dp0\x\ 2>nul
for /f "delims=" %%a in ('dir /a-d/b *.txt') do (
    setlocal EnableDelayedExpansion
    (for /f "tokens=* delims=" %%b in ('type "%%a"') do (
        set "str=%%b"
        echo;!str:    =,!
    ))>"%~dp0\x\%%~na.csv"
    Endlocal
)

求大佬帮助

TOP

本帖最后由 newswan 于 2021-7-22 14:00 编辑

回复 2# guoguo.zhi


csv 数字前面的0 丢失,在数字前面加字母或者其他字符,或者简单用引号
  1. 2021-07-20 09:16:27,'086,830,60,1428,-5
复制代码

TOP

回复 3# newswan


    因为我的文本文件很多,不是很方便修改文本,有没有办法在保存成csv的时候进行处理。

TOP

用=""包起来
@echo off
rem 保存为bat文件跟txt文件放一起运行
md %~dp0\x\ 2>nul
for /f "delims=" %%a in ('dir /a-d/b *.txt') do (
    setlocal EnableDelayedExpansion
    (for /f "tokens=1-7 delims=, " %%b in ('type "%%a"') do (
echo %%b %%c,="%%d",="%%e",="%%f",="%%g",="%%h"
    ))>"%~dp0\x\%%~na.csv"
    Endlocal
)

TOP

返回列表