答案1
你可以试试:
- 命令行:
cd /d "D:\Full\Path\To\" & type "File.csv" |findstr /e \/ >"Output.csv"
- 文件.cmd/.bat:
@echo off
type "%~dpnx1"|findstr /e \/ >"%~dp1Output.csv"
答案2
这不是批处理,但是,如果您愿意使用 Excel 解决方案,它就会起作用。
使用 E 列作为辅助列。假设第一行是标题行,则将此公式添加到E2
:
=RIGHT(D2)="/"
这将返回 TRUE 或 FALSE。复制/粘贴该公式,无论您的数据有多长。按 E 列排序。现在,所有以 结尾的行都/
分组在一起,其他所有行也分组在一起。这样可以轻松地将所有其他行选为一个组并删除它们。
答案3
假设 D 列是最后一列,并且 CSV 未使用引号将" "
字符串括起来,这将创建第二个文件,其中仅包含以 结尾的行/
。您必须更改文件名以匹配您的数据。如果您想就地进行更改,可以添加一些行以删除旧数据并将新数据重命名为相同的名称。
@echo off
for /f "tokens=*" %%a in (dataInput.csv) do call :processline %%a
goto :eof
:processline
set line=%*
set last=%line:~-1%
IF "%last%"=="/" ECHO %line% >> dataOutput.csv
goto :eof
:eof
如果您的数据在字符串周围有引号(或可能有),则必须为此添加一些额外的处理。您可以提取最后两个,如果最后一个是"
,则检查倒数第二个。