[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
不错,有一定的实用性。

例如,再也不用使用 findstr 来保留空行了,只不过要知道文本的行数。示例:
  1. @echo off
  2. set str=
  3. (
  4.     for /l %%a in (1 1 7) do (
  5.         setlocal enabledelayedexpansion
  6.         set /p str=
  7.         if defined str (echo !str!) else echo ---------空行
  8.         endlocal
  9.     )
  10. ) <a.txt
  11. pause
复制代码

TOP

本帖最后由 tmplinshi 于 2011-7-18 11:35 编辑

我测试了一个 11651 行的文本(没有空行),结果是 for /f 更快。

测试代码:

set_p.bat:
  1. @echo off
  2. (
  3.     for /l %%a in (1 1 11651) do (
  4.         setlocal enabledelayedexpansion
  5.         set /p str=
  6.         echo,!str: =_!
  7.         endlocal
  8.     )
  9. ) <test.txt >test_1.txt
复制代码
for_f.bat:
  1. @echo off
  2. (
  3.     for /f "delims=" %%a in (test.txt) do (
  4.         set str=%%a
  5.         setlocal enabledelayedexpansion
  6.         echo,!str: =_!
  7.         endlocal
  8.     )
  9. ) >test_2.txt
复制代码
测试结果:
e:\我的文档\桌面>timeit set_p.bat

Version Number:   Windows NT 5.1 (Build 2600)
Exit Time:        10:19 am, Monday, July 18 2011
Elapsed Time:     0:00:15.500
Process Time:     0:00:14.031
System Calls:     430474
Context Switches: 56632
Page Faults:      39304
Bytes Read:       19381026
Bytes Written:    741100
Bytes Other:      2573192

e:\我的文档\桌面>timeit for_f.bat

Version Number:   Windows NT 5.1 (Build 2600)
Exit Time:        10:20 am, Monday, July 18 2011
Elapsed Time:     0:00:12.484
Process Time:     0:00:12.328
System Calls:     159911
Context Switches: 2458
Page Faults:      15433
Bytes Read:       598486
Bytes Written:    597572
Bytes Other:      2345164
1

评分人数

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (
  4.     for /l %%a in (1 1 7) do (
  5.         pause >nul
  6.         set /p echo=
  7.         echo !echo!
  8.     )
  9. ) <%0
  10. pause
复制代码
有点想不通的是,pause 为什么不直接接收 %0 的内容,而要接收它下一行的 set /p。

TOP

8# mxxcgzxxx


是每一行前面的第一个字符没有了,顶楼有说。

TOP

12# mxxcgzxxx


截图工具推荐用 FSCapture:
    颜色少的用 png 格式,保存时选 256 色;
    颜色多的用 jpg 格式,比如人物照片等。

TOP

返回列表