【问题标题】:Batch file to Remove lines with particular words from CSVs用于从 CSV 中删除带有特定单词的行的批处理文件
【发布时间】:2021-05-27 21:21:50
【问题描述】:

您好,我有一个 CSV 目录,其中包含我不想处理的行

到目前为止,我有一个适用于所有文件的示例,它只显示某些列并复制到新的 csv

  @Echo off
  For %%F in (*.csv) do ( 
      (for /f "delims=" %%A in (%%F) do Call :Split %%A
      ) > "c:\temp\test\%%~nF_New.csv"
  )
  goto :Eof
  :Split
  Echo(%2,%3,%5

但我想用

Echo find /V "Not"

只显示没有“Not”字样的行

如果我使用下面的 find 命令,它适用于 1 个 csv。

type test.csv | find /V "Not" > new.csv

我需要对所有 csvs 目录执行此操作。

知道我如何将两者组合成 1 个批处理脚本。

谢谢

【问题讨论】:

    标签: windows csv file batch-file


    【解决方案1】:

    您好,我与 T&E 合作过,但这是给其他人的

    @Echo off
    For %%F in (*.csv) do ( 
        type %%F | find /V "Not" > %%F_new.csv 
    )
    goto :Eof
    

    【讨论】:

      【解决方案2】:

      您可以一次性完成(不需要call):

      @Echo off
      For %%F in (*.csv) do ( 
        (for /f "tokens=2,3,5" %%A in ('findstr /v "Not" "%%F"') do echo %%A,%%B,%%C
        ) > "c:\temp\test\%%~nF_New.csv"
      )
      

      【讨论】:

        猜你喜欢
        • 2021-05-05
        • 2021-05-16
        • 1970-01-01
        • 1970-01-01
        • 2021-07-16
        • 1970-01-01
        • 1970-01-01
        • 2017-05-23
        • 1970-01-01
        相关资源
        最近更新 更多