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

[文件操作] 怎样让屏显的结果的同时写入到到文件中?

如用Tracert命令时,想让它显示完毕后,把结果保存到TXT中,

现在用很笨的方法。。。。
  1. tracert %IP%
  2. tracert %IP%>%COMPUTERNAME%_%USERNAME%_Tracert_%IP%.txt
复制代码

我也很需要这个方法

TOP

http://bbs.bathome.net/viewthrea ... mp;highlight=ascode

其中的 tee.com 正是用于双句柄输出的,举个例子:
  1. @echo off&chcp 437|graftabl>nul 936
  2. echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>tee.com
  3. echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>tee.com
  4. echo @VyI?@xAp~sA`LZNxOq@Kt@FB?sUs`LbLB?tgj`{gjB~0x>>tee.com
  5. tracert %IP%|tee.com >a.txt 2>b.txt
  6. pause
复制代码

TOP

回复 3# CrLf


    这个怎么刚打开就提示 graftabl 不是内部命令或外部命令,然后就退出了呢?

TOP

回复 4# 522235677


    那就用 vbs 或 js,也是原生的:
  1. @echo off
  2. echo>tee.vbs text = wscript.stdin.readall:wscript.echo text:wscript.stderr.write text
  3. dir |cscript /nologo tee.vbs >a.txt 2>b.txt
  4. pause
复制代码

TOP

回复 5# CrLf


    顶,好办法

TOP

回复 3# CrLf


    这个好像是等命令执行完了,cmd里才能显示,同时才能写入到文本。

TOP

本帖最后由 CrLf 于 2013-4-28 18:17 编辑

回复 7# 522235677


    管道就是要等待命令结束。
    如果你等不及,想同步输出,最好能找个专门的控制台第三方程序,若要用“纯”批方案,那可以类似这样:
  1. @echo off
  2. set "file=输出文件.txt"
  3. set "skip=0"
  4. set "size=%~z0"
  5. setlocal enabledelayedexpansion
  6. start /b cmd /c dir /s c:\^>"!file!"^&echo;^>^>"%~0"
  7. :loop
  8. for %%a in ("!file!") do (
  9. if %%~za gtr !size! (
  10. set "size=%%~za"
  11. more +!skip! !file!|findstr .*
  12. for /f %%b in ('find /c /v ""^<!file!') do set "skip=%%b"
  13. ) else (
  14. if %~z0 neq !size! goto end
  15. )
  16. )
  17. goto loop
  18. :end
  19. echo 结束
  20. pause
复制代码

TOP

回复 8# CrLf


    NB

TOP

返回列表