日期:2014-05-17  浏览次数:21149 次

如何既把信息输出到显示器,同时输出到文件中

下面的代码只能够输出到文件中,但是屏幕上没法显示,该如何?谢谢!
@echo off
setlocal
@echo Please enter the name >>test.log 2>&1
------解决方案--------------------
如果你说的echo之后的内容没显示,那是你没有在这段话头尾加“”导致,因为你这段话有空格了,所以你使用下面这个例子看看是否可以满足你的要求?

@echo off
setlocal
echo “Please enter the name >>test.log 2>&1”
@echo on
------解决方案--------------------
引用:
楼上的不行,屏幕还是没有显示出来啊


有可能是我给出的引号是中文输入的,你尝试把引号改成英文输入
我这边测试是可以
@echo off
setlocal
echo "Please enter the name >>test.log 2>&1"
pause
@echo on



------解决方案--------------------
引用:
Quote: 引用:

楼上的不行,屏幕还是没有显示出来啊


有可能是我给出的引号是中文输入的,你尝试把引号改成英文输入
我这边测试是可以
@echo off
setlocal
echo "Please enter the name >>test.log 2>&1"
pause
@echo on




补充一下,上面的只是显示你需要执行的语句,但实际还是未有在本地生成"test.log",所以还需要在加一段(红字部分):

@echo off
setlocal
echo "Please enter the name >>test.log 2>&1"
echo Please enter the name >>test.log 2>&1
pause
@echo on





------解决方案--------------------
引用:
>>test.log 2>&1是不做文本输出到屏幕和文件的,它是一个命令,是要把前面的文本输出到文件
只是这个重定向导致了屏幕上没法显示了


对的,确实要写两遍,>>test.log 2>&1如你所说是一个命令,我一开始理解错你的意思,以为是要把这句话显示出来,而后来发现是要显示并执行这语句,所以才要这么写