[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%i in (歌手.txt)  do (
  3.      set "str=%%i"
  4.      set "s=!str:~,1!"
  5.      if !s! leq 9 for /f "tokens=* delims=0123456789" %%a in ("%%i")  do (
  6.             set "t=!str!"
  7.             for /l %%d in (0,1,9) do set "t=!t:%%d=!"
  8.             if  "%%a" == "!t!" set "str=@@%%i"
  9.     )
  10.     echo;!str!
  11. )
  12. pause
复制代码

TOP

本帖最后由 terse 于 2021-1-12 00:15 编辑

回复 11# toyerspollors
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "tokens=1*delims=:" %%h in ('findstr /in .* 歌手.txt')  do (
  3.      set "str=%%i"
  4.      set "s=!str:~,1!"
  5.      if !s! leq 9 for /f "tokens=* delims=0123456789" %%a in ("%%i")  do (
  6.             set "t=!str!"
  7.             for /l %%d in (0,1,9) do set "t=!t:%%d=!"
  8.             if  "%%a" == "!t!" set "str=@@%%i"
  9.     )
  10.     echo;!str!
  11. ))>2.txt
  12. pause
复制代码

TOP

用途不明 不好写

TOP

findstr判断也就那样  数字开头行 后面跟一句 还得再判断
排除了数字开头行后面超过10个字符的  字符数可自定
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=1*delims=:" %%h in ('findstr /in .* ^<歌手.txt')  do (
  3.        for /f "tokens=*" %%j in ("%%i")  do (
  4.                if "%%j" leq "9" if "%%j" gtr "0" for /f "delims=0123456789" %%a in ("%%j")  do (
  5.                        set "a=%%a"
  6.                        set "t=%%j"
  7.                        for /l %%d in (0,1,9) do set "t=!t:%%d=!"
  8.                        if  "!a!" == "!t!" if "!a:~10!" == "" set "file=%%j.txt"
  9.                )
  10.        )
  11.        if defined file >>!file! echo;%%i
  12. )
  13. pause
复制代码

TOP

返回列表