[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. for /f "delims=" %%a in ('dir /s /b /a-d^|findstr /v %~nx0') do (
  3.     setlocal enabledelayedexpansion
  4.     for /f "delims=" %%b in ('findstr "Code Name Tender" "%%a"') do (
  5.         for %%i in (%%b) do (
  6.             if "!str!"=="Code" (
  7.                 set Code=%%~i
  8.             ) else if "!str!"=="Name" (
  9.                 set Name=%%~i
  10.             ) else if "!str!"=="Tender" (
  11.                 set Tender=%%~i
  12.             )
  13.             set str=%%~i
  14.         )
  15.     )
  16.     if defined Code echo,%%a !Code! !Name! !Tender!
  17.     endlocal
  18. )
  19. pause
复制代码

TOP

楼上代码可以简化一下:
  1. @echo off
  2. set /a _Code=_Name=_Tender=1
  3. for /f "delims=" %%a in ('dir /s /b /a-d^|findstr /v %~nx0') do (
  4.     setlocal enabledelayedexpansion
  5.     for /f "delims=" %%b in ('findstr "Code Name Tender" "%%a"') do (
  6.         for %%i in (%%b) do (
  7.             if defined _!str! set !str!=%%~i
  8.             set str=%%~i
  9.         )
  10.     )
  11.     if defined Code echo,%%a !Code! !Name! !Tender!
  12.     endlocal
  13. )
  14. pause
复制代码

TOP

本帖最后由 qixiaobin0715 于 2023-2-20 10:44 编辑

回复 15# 304802301
删除的原因是:
1.批处理不适合多种编码的文件混合处理;
2.最好是文件最后一行有回车键;
3.给出的代码未考虑周全,有问题;
4.楼主提供的文件是杜撰的,最好提供真实文件,以免测试没问题,实际运行可能会出问题;
5.原来的代码也没有保存。

TOP

返回列表