[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off&setlocal enableDelayedExpansion
  2. (for /f "delims=" %%a in (a.txt) do (
  3. set "a=%%a"
  4. for /l %%b in (0,1,9) do if defined a set "a=!a:%%b=!"
  5. if defined a (echo;宋体%%a) else echo;%%a
  6. ))>$
  7. move $ a.txt
复制代码
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

本帖最后由 hanyeguxing 于 2011-4-27 12:31 编辑

5# batman


1, for /l %%b in (0,1,9) do "set str=!str:%%b=!" 引号打错位置
2, move /y $ a.txt 默认的copycmd=y
3, 我理解他所说的数字行是要求纯数字行,即只由0-9构成
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

8# batman


哈哈,他没说的我就不去考虑。。。。。。。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

本帖最后由 hanyeguxing 于 2011-4-27 13:54 编辑

文本不太大时:
  1. @echo off&set "n=a.txt"
  2. for /f "tokens=1* delims=:" %%a in ('findstr /nb [0-9] "%n%"') do set #%%a==
  3. (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%n%"') do if not "%%b"=="" (
  4.     if defined #%%a (echo;%%b) else echo;宋体%%b
  5. ))>$
  6. move $ "%n%"
复制代码
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

本帖最后由 hanyeguxing 于 2011-4-27 14:01 编辑

18# mrhxn


加上 if "%%b"=="" 判断空行了
如果不保留空行,使用17楼;如果要保留空行,则:
  1. @echo off&set "n=a.txt"
  2. for /f "tokens=1* delims=:" %%a in ('findstr /nb [0-9] "%n%"') do set #%%a==
  3. (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%n%"') do if "%%b"=="" (echo;) else (
  4.     if defined #%%a (echo;%%b) else echo;宋体%%b
  5. ))>$
  6. move $ "%n%"
复制代码
1

评分人数

寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

13# Hello123World


        for /l %%b in (0,1,9) do if defined a set "a=!a:%%b=!"
当行为纯数字时,!a!将被删空,这里的 if defined a 是防止对空删除的
        if defined a (echo;宋体%%a) else echo;%%a
当行为纯数字时,!a!已被删空,所以变量就不存在、未被定义
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表