批处理脚本:更快地将ECHO输出到FOR循环中的csv文件?

are*_*obo 2 csv for-loop batch-file

我编写了一个脚本,用于将文本文件中的分号分隔符替换为逗号,但它也会在第9列的文本周围添加引号,因为第9列包含逗号.当我输出到新文本文件时它处理速度非常慢,大约需要4-5分钟,它正在读取的文本文件是50MB.有没有更快的方式或更有效的方法来做到这一点?这是我的FOR循环:

FOR /f "usebackq tokens=1-9* delims=;" %%a IN ("%FILENAME%") DO (
SET C10=%%j
ECHO(%%a,%%b,%%c,%%d,%%e,%%f,%%g,%%h,"%%i",!C10:;=,! >> "%MYPATH%\Filename %MMDDYYYY%.csv")
Run Code Online (Sandbox Code Playgroud)

或者我应该学习python .....

谢谢.

MC *_* ND 6

使脚本运行"更快"的一件事是避免为每个写操作打开和关闭输出文件

>> "%MYPATH%\Filename %MMDDYYYY%.csv" (
    FOR /f "usebackq tokens=1-9* delims=;" %%a IN ("%FILENAME%") DO (
        SET C10=%%j
        ECHO(%%a,%%b,%%c,%%d,%%e,%%f,%%g,%%h,"%%i",!C10:;=,!
    )
)
Run Code Online (Sandbox Code Playgroud)

而不是重定向每一行,重定向完整for命令.