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

[其他] 批处理如何实现Linux下的tee,将结果显示到屏幕/控制台窗口和输出到文件

本帖最后由 pcl_test 于 2017-6-8 22:18 编辑

能否像Linux下的tee那样,显示并记录?>>屏幕看不到过程

因为我echo >>输出虽然记录到日志了,

但我屏幕上并没有显示。

能否同时在屏幕显示+记录到log里?

百度看到有人弄了个 tee.com 或 tee.vbs,但不知道是否有纯bat/cmd的方式?

这个真没有。可以用工具:
http://bbs.bathome.net/s/tool/index.html?key=tee
测试代码之前请做好备份

TOP

本帖最后由 happy886rr 于 2017-6-8 23:24 编辑

回复 1# wkl17
其实直接@echo on就行。
或者
你echo两次不就搞定了,
  1. echo "要显示的”
  2. echo "要写入的" >> a.log
复制代码
或者构造个流缓存,如tmp.txt
先进输出存到流缓存里,然后显示并打印,find就能做到。

TOP

这个真没有。可以用工具:
ShowCode 发表于 2017-6-8 22:44



    已应用上,感谢!

PS:补充使用方法给后来者: 在要记录的内容后面加上 | tee -a xxx.log  即可。
1

评分人数

    • pcl_test: 指定回应某楼层的在相应楼层点回复,少引用PB -4

TOP

回复 3# happy886rr


    把你的find方案发出来大家学习下
测试代码之前请做好备份

TOP

回复  wkl17
其实直接@echo on就行。
或者
你echo两次不就搞定了,或者构造个流缓存,如tmp.txt
先进输 ...
happy886rr 发表于 2017-6-8 23:16



    @echo on 我试过了 不行。不过用find倒是个不错的方法。但是如果数据一多(我做每隔30分钟记录一次log) 这方案可能也就不太适用了。

或者tmp.txt + final.txt,如果2个文本 那就ok。只是要多写磁盘。

TOP

tee 后面的参数 -a 是追加记录的意思。

TOP

純批?CMD內置命令(不含EXE)?那恐怕很難。

不介意 PowerShell ? PowerShell 調用 FSO 應該可以。

以下是 VBS 調用 FSO 實現 TEE 例子。
在批處理中無限時地執行 Ping 命令(-t參數),不結束進程,將結果實時的輸出到螢幕和文本文件(test.txt)。

TeeExamp.cmd
  1. :: TeeExamp.cmd
  2. @echo off
  3. :: Setup
  4.   call :BuildVBS
  5.   
  6. :: Your command(s) goes here
  7.   ping -t 127.1 | %TEE% > test.txt
  8.    
  9. :: cleanup & exit
  10.   del %temp%.\T.vbs & set "TEE=" & exit /b
  11.   
  12. :BuildVBS
  13.   set TEE=cscript //nologo %temp%.\T.vbs
  14.   (echo set con = createobject("scripting.filesystemobject"^)_
  15.    echo                .opentextfile("con:", 2^)
  16.    echo do until wsh.stdin.atendofstream
  17.    echo   s = wsh.stdin.readline
  18.    echo   wsh.echo s : con.writeline FormatDateTime(Now,vbLongTime^) ^& "  " ^& s
  19.    echo loop
  20.   ) > %temp%.\T.vbs
复制代码
同步顯示:執行時,同時顯示和輸出到文件
【output .bat-file to console AND logfile.txt】
https://social.technet.microsoft ... gfiletxt?forum=ITCG

異步顯示:執行完成再顯示
【怎樣讓屏顯的結果的同時寫入到到文件中?】
http://www.bathome.net/viewthread.php?tid=23506
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

本帖最后由 wkl17 于 2017-6-10 13:52 编辑
純批?CMD內置命令(不含EXE)?那恐怕很難。

不介意 PowerShell ? PowerShell 調用 FSO 應該可以。

...
yu2n 发表于 2017-6-9 16:19



    感谢分享!!请问 你的PowerShell是如何学习的?相关书箱还是官方文档?总感觉它的关键词很长,很不容易记住。

TOP

回复 9# wkl17


微软有视频
http://bbs.bathome.net/thread-26220-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表