本帖最后由 CrLf 于 2013-4-28 18:17 编辑
回复 7# 522235677
管道就是要等待命令结束。
如果你等不及,想同步输出,最好能找个专门的控制台第三方程序,若要用“纯”批方案,那可以类似这样:- @echo off
- set "file=输出文件.txt"
- set "skip=0"
- set "size=%~z0"
- setlocal enabledelayedexpansion
-
- start /b cmd /c dir /s c:\^>"!file!"^&echo;^>^>"%~0"
-
- :loop
- for %%a in ("!file!") do (
- if %%~za gtr !size! (
- set "size=%%~za"
- more +!skip! !file!|findstr .*
- for /f %%b in ('find /c /v ""^<!file!') do set "skip=%%b"
- ) else (
- if %~z0 neq !size! goto end
- )
- )
- goto loop
-
- :end
- echo 结束
- pause
复制代码
|