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

[文本处理] CrLf 文本新增行批处理不能显示新增行内容

  1. @echo off
  2. ::这里是先统计原文本总行数
  3. set outfile=文本.txt
  4. for /f "delims=" %%i in (%outfile%) do (
  5. echo %%i>nul
  6. set /a a1=a1+1
  7. )
  8. ::这里是追加内容命令例子
  9. echo ============%date:~4% %time:~0,-3%============ >>%outfile%
  10. echo 开始vcbcv232 大飞梭 城市的称得上nnv 序列2001年 >>%outfile%
  11. ::这里是统计当前文本总行数并计算差值和显示新增行内容、新增行数
  12. for /f "delims=" %%i in (%outfile%) do (
  13. echo %%i>nul
  14. set /a b1=b1+1
  15. )
  16. echo.
  17. echo 新增行内容:
  18. set /a new=b1-a1
  19. if %%a neq %%b (
  20.         more +%b1% %outfile%&&echo 新增%new%行
  21. ) 2>nul
  22. pause
复制代码
为什么只能计算出新增%new%行,而不能显示新增行内容?哪里出错了?
%outfile%这个咋写,是不是缺少代码

就是运行批处理后,先统计原文本内容行数,再进行追加行,最后再统计新增加的行内容和新增加的行数

TOP

本帖最后由 lllsoslll 于 2012-7-17 18:58 编辑
  1. @echo off
  2. for /f %%a in ('type a.txt^|find /c /v ""')do set old=%%a
  3. echo %date%>>a.txt
  4. echo %time%>>a.txt
  5. more +%old% a.txt
  6. pause
复制代码
SOS --- >> lllsoslll@163.com

TOP

本帖最后由 wh1234567 于 2012-7-17 22:18 编辑

回复 3# lllsoslll

能显示新增加的行内容,能不能再增加个显示新增加的行数的代码

TOP

本帖最后由 apang 于 2012-7-18 00:19 编辑
  1. @echo off
  2. ::这里是先统计原文本总行数,包括空行
  3. set outfile=1.txt
  4. for /f "delims=:" %%i in ('findstr /n .* %outfile%') do set/a a1+=1
  5. ::这里是追加内容命令例子
  6. (for /f "tokens=1* delims=:" %%i in ('findstr /n .* %outfile%') do echo,%%j
  7. echo ============%date:~4% %time:~0,-3%============
  8. echo 开始vcbcv232 大飞梭 城市的称得上nnv 序列2001年)>$
  9. move $ %outfile%>nul
  10. ::这里是统计当前文本总行数并计算差值和显示新增行内容、新增行数
  11. for /f "delims=:" %%i in ('findstr /n .* %outfile%') do set/a b1+=1
  12. echo 新增行内容:
  13. set/a new=b1-a1
  14. if %a1% neq %b1% (more +%a1% %outfile%&&echo 新增%new%行) 2>nul
  15. pause
复制代码

TOP

返回列表