我有一个奇怪的问题。我有一个要处理的.csv文件。该脚本可以正常运行,并且在使用小型.csv文件进行测试时我没有任何问题,但是当我出于某种原因尝试在原始.csv上运行批处理(大约100k行,7MB)时,脚本仅在打开后运行在Excel中保存文件。
除了在不打开Excel的情况下不运行之外,脚本还可以很好地完成,所以我不太确定发生了什么。尤其是因为它确实会以较小的文件自动运行。
setlocal
set "file=test2.csv"
set "fileout=output.csv"
set /p "var="<"%file%" >nul
>"%fileout%" echo.%var%,test_column
for /f "skip=1 delims=" %%a in ('type "%file%"') do (
>>%fileout% echo.%%a,test_value
)
答案 0 :(得分:1)
更改代码以直接读取文件,而不是读取TYPE
命令的输出。还要封装所有代码,以使其保持打开状态以供写入。
@echo off
set "file=input.csv"
set "fileout=output.csv"
set /p "var="<"%file%"
(
echo.%var%,test_column
for /f "usebackq skip=1 delims=" %%a in ("%file%") do echo.%%a,test_value
)>"%fileout%"