中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 09:10
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何实现既在屏幕上显示执行结果又可以把结果保存到
可打印版本  5,491 / 26
第1楼 zhaxi 发表于 2006-06-27 22:28
初级用户 发帖 40 积分 112
[求助]如何实现既在屏幕上显示执行结果又可以把结果保存到
这个标题的意思是说,比如执行了xcopy命令,会在屏幕上显示很多条执行结果:

---------------------------------------
\\192.168.1.1\update\1.txt
\\192.168.1.1\update\2.txt
\\192.168.1.1\update\3.txt
复制了3个文件
---------------------------------------

如果我需要将此命令结果保存到d:\a.txt,故我使用了xcopy ....>d:\a.txt ,但这样做的结果是屏幕上不会显示上面执行的结果了。虽然现在可以再最后加一句
type d:\a.txt 将刚才的结果在屏幕上输出,但却具有滞后效果。而且不是想当初一样每xcopy一个文件就会在屏幕上动态显示执行结果。

我现在想问有没有一种语句可以即不影响在屏幕上显示结果,同时可以将结果保存到一个文件中。
第2楼 Wengier 发表于 2006-06-28 10:51
系统支持 发帖 10,521 积分 27,736
可以通过提供这种功能的工具来做到,如TEE,例如使用以下语法:

XCOPY .... | TEE D:\A.TXT

这样既不影响在屏幕上显示结果,同时可以将结果保存到一个(或多个)文件中。
第3楼 zhaxi 发表于 2006-06-28 12:47
初级用户 发帖 40 积分 112
功能说明:读取标准输入的数据,并将其内容输出成文件。
  语   法:tee [-ai][--help][--version][文件…]
  补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。我们可利用tee把管道导入的数据存成文件,甚至一次保存数份文件。
  参   数:-a 附加到既有文件的后面,而非覆盖它。如果给予tee指令的文件名称已经存在,预设会覆盖该文件的内容。加上此参数后,数据会新增在该文件内容的最后面,而不会删除原先之内容。
       -i 忽略中断信号
       --help 在线帮助
       --version 显示版本信息
  范   例:
  列出文本文件slayers.story的内容,同时复制3份副本,文件名称分别为ss-copy1、ss-copy2、ss-copy3:
  $ cat slayers.story |tee ss-copy1 ss-copy2 ss-copy3

-----------------------------------------------------------------------------------------

可惜我就是下载不到这个 软件啊。DOS之家里也不知道放在哪个分类下。你能告诉我下载地址吗?
第4楼 Wengier 发表于 2006-06-28 13:33
系统支持 发帖 10,521 积分 27,736
Originally posted by zhaxi at 2006-6-28 12:47 PM:
功能说明:读取标准输入的数据,并将其内容输出成文件。
  语   法:tee
  补充说明:tee指令会从标准输入设备 ...


那些网站中是没有这个软件的。DOS版的TEE见附件:

附件
TEE.EXE (62.5 KiB)
第5楼 qdcr 发表于 2006-06-28 13:56
初级用户 发帖 32 积分 120
同问这个问题:
@echo off
MKDIR "..\backup">>%DATE%.log
pause

如果back文件夹存在,在dos console窗口中会显示
A subdirectory or file ..\backup already exists.
而%date%.log中内容为空。
为什么重定向到log文件没有用?
第6楼 Wengier 发表于 2006-06-28 14:01
系统支持 发帖 10,521 积分 27,736
MKDIR "..\backup">>%DATE%.log

应改为:

MKDIR "..\backup" 2>>%DATE%.log

MD "..\backup" 2>>%DATE%.log
第7楼 asbai 发表于 2006-06-28 14:01
高级用户 发帖 252 积分 653
Originally posted by qdcr at 2006-6-28 13:56:
同问这个问题:
@echo off
MKDIR "..\backup">>%DATE%.log
pause

如果back文件夹存在,在dos console窗口中会显示
A subdirectory or file ..\backup already exis ...


>> 只重定向标准输出,不重定向错误输出,要同时重定向错误输出,使用:

MKDIR "..\backup">>%DATE%.log 2>&1
第8楼 electronixtar 发表于 2006-06-28 14:06
铂金会员 发帖 2,672 积分 7,493
为什么用这个

xcopy ........ 1>con 1>D:\a.txt

或者

xcopy ....... 1>con 1>D:\a.txt 1<&2

不行呢?

可不可以把句柄1的数据copy到句柄4中,然后1到屏幕,4到文件?

或者,用mode命令?感觉上用第三方工具不是很爽

[ Last edited by electronixtar on 2006-6-28 at 14:24 ]
第9楼 zhaxi 发表于 2006-06-28 19:36
初级用户 发帖 40 积分 112
Originally posted by Wengier at 2006-6-28 13:33:


那些网站中是没有这个软件的。DOS版的TEE见附件:



谢谢Wengier啊。我已经拷贝下来了。马上用用看。

另外谁能不能帮我把 choice.exe 也传上来,呵呵。我现在是在XP下使用。还不会装dos。几个月来就在xp下写批处理。
第10楼 Wengier 发表于 2006-06-29 01:21
系统支持 发帖 10,521 积分 27,736
Originally posted by electronixtar at 2006-6-28 02:06 PM:
为什么用这个

xcopy ........ 1>con 1>D:\a.txt

或者

xcopy ....... 1>con 1>D:\a.txt 1<&2

不行呢?

可不可以把句柄1的数据copy到句柄4中,然后1到屏幕,4到文件?

或者,用mode命令?感觉上用第三方工具不是很爽


这些当然是不行了,如果你真想不用第三方工具来实现的话,还不如这样:
xcopy ....... >a.txt | type a.txt
第11楼 Wengier 发表于 2006-06-29 01:24
系统支持 发帖 10,521 积分 27,736
Originally posted by zhaxi at 2006-6-28 07:36 PM:



谢谢Wengier啊。我已经拷贝下来了。马上用用看。

另外谁能不能帮我把 choice.exe 也传上来,呵呵。我现在是在XP下使用。还不会装dos。几个月来� ...


choice命令基本上只在纯DOS下比较有用,在XP下可以用set /p来代替。
第12楼 zhaxi 发表于 2006-06-29 18:54
初级用户 发帖 40 积分 112
为什么我在xp的cmd中使用tee以后弹出一个新的窗口,显示了一行乱码就结束了。我猜这行乱码肯定就是“已复制 1个文件”。 我要安装什么东西才能把乱码去掉呢。

COPY d:\dos\end.txt d:\ | TEE D:\A.TXT
第13楼 Wengier 发表于 2006-06-30 01:46
系统支持 发帖 10,521 积分 27,736
Originally posted by zhaxi at 2006-6-29 06:54 PM:
为什么我在xp的cmd中使用tee以后弹出一个新的窗口,显示了一行乱码就结束了。我猜这行乱码肯定就是“已复制 1个文件”。 我要安装什么东西才能把� ...


我自己试了一下上面这个命令,但并没有发现什么弹出显示了一行乱码的新窗口呀?
第14楼 zhaxi 发表于 2006-07-02 16:24
初级用户 发帖 40 积分 112
哎。我在xp的cmd下运行Tee后好象显示不支持中文名。遇到有中文名的路径显示为???。
这该怎么办啊。
第15楼 Wengier 发表于 2006-07-03 09:46
系统支持 发帖 10,521 积分 27,736
用"chcp 936"命令可将当前显示代码页切换为简体中文。
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023