gpt4 book ai didi

batch-file - 需要帮助编写批处理文件以将多个文件处理成逗号分隔的文本文件

转载 作者:行者123 更新时间:2023-12-02 03:34:47 25 4
gpt4 key购买 nike

我有一百万个旧文本文件需要转换格式。我一直在拼命地尝试自己做这件事,但我真的需要帮助。我正在尝试转换如下所示的数据:

正文
11111.111
22222.222
33333.333
文本2
44444.444
55555.555
66666.666

77777.777
88888.888
99999.999
(每个数字都在单独的一行上,并且有一些空行,但我需要它们作为占位符进入输出文件)

进入如下所示的 .txt 文件:
**我还需要在每行的开头添加一个增量数字来对行进行编号。

1,11111.111,22222.222,33333.333,文本
2,44444.444,55555.555,66666.666,text2
3,77777.777,88888.888,99999.999,

我拥有的文件位于目录中的单独文件夹中,没有文件扩展名,但它们的行为与标准文本文件完全一样。

我尝试过各种方法,但我对编程不是很精通。这是我第 100 次没有删除的一小段代码。变得沮丧

:REFORMAT
FOR %%F IN (*) DO IF NOT %%~XF==.BAT (
SETLOCAL DISABLEDELAYEDEXPANSION
(
SET /P LINE1=
SET /P LINE2=
SET /P LINE3=
SET /P LINE4=
)<"%%F"
ECHO %LINE2%,%LINE3%,%LINE4%,%LINE1%>>"%%F".TXT
PAUSE >NUL
:END

我正在使用 Windows 我可以访问 dos6 dos7 winxp 32 和 win7 64

text 和 text2 是文件中的文本字符串,它们是描述符,告诉我下面数字的含义,一些描述符被遗漏了。我还需要它来处理比前四行更多的内容。有些文件中最多有 200 行。非常感谢你帮助我。非常感谢 dbenham 这是最终结果:

@echo off
setlocal enableDelayedExpansion
for /R %%F in (*.) do (
set /a ln=0
for /f %%N in ('type "%%F"^|find /c /v ""') do set /a cnt=%%N/4
for /l %%N in (1 1 !cnt!) do (
for %%A in (1 2 3 4) do (
set "ln%%A="
set /p "ln%%A="
)
set /a ln+=1
echo !ln!,!ln2!,!ln3!,!ln4!,!ln1!
)
) <"%%F" >"%%F.CSV"

最佳答案

只使用纯原生批处理:

@echo off
setlocal enableDelayedExpansion
for %%F in (*.) do (
set /a ln=0
for /f %%N in ('type "%%F"^|find /c /v ""') do set /a cnt=%%N/4
for /l %%N in (1 1 !cnt!) do (
for %%A in (1 2 3 4) do (
set "ln%%A="
set /p "ln%%A="
)
set /a ln+=1
echo !ln!,!ln2!,!ln3!,!ln4!,!ln1!
)
) <"%%F" >"%%F.txt"

以上将处理当前文件夹中所有没有扩展名的文件。如果要递归包含所有子文件夹,请将 /R 选项添加到外部 FOR 语句。

使用我的 REPL.BAT utility 可以很简单地完成整个事情:

@echo off
for %%F in (*.) do (
<"%%F" repl "([^\r\n]*)\r?\n([^\r\n]*)\r?\n([^\r\n]*)\r?\n([^\r\n]*)\r?\n?" "$2,$3,$4,$1\r\n" mx|findstr /n "^"|repl "^(.*):" "$1," >"%%F.txt"
)

关于batch-file - 需要帮助编写批处理文件以将多个文件处理成逗号分隔的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24334300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com