我有一个包含4列和279行的csv文件,我需要将其拆分为单个文件。
我目前正在使用以下代码但是只有一个小问题,我需要它在创建新文件时为每个列添加一个新行。目前它打印出一行中的4列
例如
23/07/2014 11:00 24/07/2014 09:27 35386515447 1771969 s walsh
需要
23/07/2014 11:00
24/07/2014 09:27
35386515447
1771969 s walsh
@ECHO OFF
SETLOCAL
SET "destdir=c:\destdir"
FOR /f "tokens=1*delims=:" %%a IN ('findstr /n "." Message.txt') DO (
>"%destdir%\filename%%a.txt" ECHO(%%b)
GOTO :EOF
答案 0 :(得分:0)
测试一下 - 将其粘贴到记事本中,并在其中显示TAB
替换为制表符。
@ECHO OFF
SETLOCAL
SET "destdir=c:\destdir"
FOR /f "tokens=1,*delims=:" %%a IN ('findstr /n "." Message.txt') DO (
FOR /f "tokens=1,2,3,4 delims=TAB" %%b IN ("%%a") DO (
>>"%destdir%\filename%%a.txt" ECHO(%%b
>>"%destdir%\filename%%a.txt" ECHO(%%c
>>"%destdir%\filename%%a.txt" ECHO(%%d
>>"%destdir%\filename%%a.txt" ECHO(%%e
)
)
答案 1 :(得分:0)
我找到了一个解决方法,我将它们全部放入以逗号分隔的单个文件中,打开记事本++中的所有文档并用\ n
替换所有逗号