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

专门为难dos高手,100分
不用纯dos环境,

假使xp命令行下,输入

dir〉1.txt

则输出重定向到了文件中。屏幕没有回显

问题就是:
  怎么通过一行指令,让屏幕回显依旧显示的同时,又能完成将输出信息保存至文件的功能?

慢慢想,有答案要解释哦。

------解决方案--------------------
写了个批处理,搂主可以参考一下,可以模拟出来你需要的要求,但是一行命令,好像还没有自代命令可以完成,再说了不管你用管道还是重定向实际上也无法这么简单就完成。

BatchFile code

@echo off
for /f "tokens=1* delims=:" %%a in ('dir^|findstr /n ".*"') do (
if not "%%b"=="" (
echo %%b
echo %%b>>a.txt
) else (
echo.
echo.>>a.txt
)
)

------解决方案--------------------
投降了,本以为for能处理空行的。期待高手揭开答案。
下面的代码可以直接在命令行窗口运行,无法处理空行。

for /f "tokens=1* delims=:" %i in ('dir') do @if "%i"=="" (@echo.) else (@echo %i%j) & (@echo %i%j >> out.txt)