情况说明;
要处理一百多个csv文件,格式一样,每一个csv文件中都有表头行,
通过bat将一百多个csv合并为一个成N2021.csv,
N2021.csv里面有一百多个表头,会影响后面的文件处理。
如何处理N2021.csv文件,从第二行开始判断含DAT行,删除整行?最终结果是保留第一行的表头
以下bat是删除整个N2021.csv 所有含DAT的行,但是连第一行也删除
@echo off&setlocal enabledelayedexpansion
findstr /v /r /c:"DAT" "N2021.csv">$
move $ "N2021.csv"&rem 覆盖原文件,注意备份
批处理代码:
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
@echo off
rem 将一个csv文件里从第二行开始包含有指定字符串的行删除
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
cd /d "%~dp0"
set "csvfile=N2021.csv"
if not exist "%csvfile%" (echo;"%csvfile%" 未找到&pause&exit)
for /f "delims=" %%a in ('type "%csvfile%"') do (
>"t.t" echo;%%a
goto jump
)
:jump
type "%csvfile%"|find /v "DAT">>"t.t"
move /y "t.t" "%csvfile%"
echo;%#% +%$%%$%/%_% %z%
pause
exit