批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖
WC和C1是不是写颠倒了?
字段与字段之间是用空格分隔吗?

TOP

我说的是同一行的CT CY CL WC C1之间。

TOP

源文件中CT CY CL C1 WC是固定顺序的吧?

TOP

本帖最后由 qixiaobin0715 于 2021-9-26 17:48 编辑

零星一些内容可能为空,是什么意思?
CT也可能为空吗?

TOP

本帖最后由 qixiaobin0715 于 2021-9-27 13:58 编辑

回复 1# WILSONMAO
文件较大,请耐心等待:
  1. @echo off &@cls&chcp>nul 65001
  2. set var=CT CY CL WC C1
  3. setlocal enabledelayedexpansion
  4. (echo,CT,CY,CL,WC,C1
  5. for /f "tokens=1*" %%a in ('findstr /br "%var%" 2019') do (
  6.     if "%%a"=="CT" if defined _CT (
  7.         echo,"%%b","!_CY!","!_CL!","!_WC!","!_C1!"
  8.         for %%i in (%var%) do set "_%%i="
  9.     )
  10.     set "_%%a=%%b"
  11. )
  12. echo,"!_CT!","!_CY!","!_CL!","!_WC!","!_C1!"
  13. )>test.csv
  14. pause
复制代码

TOP

本帖最后由 qixiaobin0715 于 2021-9-27 12:18 编辑

回复 1# WILSONMAO
这样要准确些,并且效率提升不少:
  1. @echo off &@cls&chcp>nul 65001
  2. set var=CT CY CL WC C1
  3. findstr /br "%var%" 2019>a.txt
  4. setlocal enabledelayedexpansion
  5. (echo,CT,CY,CL,WC,C1
  6. for /f "tokens=1*" %%a in (a.txt) do (
  7.     if "%%a"=="WC" (
  8.         echo,"!_CT!","!_CY!","!_CL!","%%b","!_C1!"
  9.         for %%i in (%var%) do set "_%%i="
  10.     )
  11.     set "_%%a=%%b"
  12. ))>test.csv
  13. del a.txt
  14. pause
复制代码
csv文件可使用Excel打开。

TOP

返回列表