bat执行java输出重定向_如何在bat脚本中回显控制台输出并将其发送到文件?

3c760f2467383fd9ba2a60adff7af4ba.png

牛魔王的故事

是的,有一种方法可以在控制台(屏幕)和文件中显示单个命令输出。使用您的示例,使用...@ECHO OFFFOR /F "tokens=*" %%I IN ('DIR') DO ECHO %%I & ECHO %%I>>windows-dir.txt详细说明:该FOR命令将命令或文本的输出解析为变量,可以多次引用该变量。对于诸如的命令,请DIR /B用单引号引起来,如下例所示。将DIR /B文本替换为所需的命令。FOR /F "tokens=*" %%I IN ('DIR /B') DO ECHO %%I & ECHO %%I>>FILE.TXT要显示文本,请用双引号引起来,如下例所示。FOR /F "tokens=*" %%I IN ("Find this text on console (screen) and in file") DO ECHO %%I & ECHO %%I>>FILE.TXT...以及换行...FOR /F "tokens=*" %%I IN ("Find this text on console (screen) and in file") DO (  ECHO %%I & ECHO %%I>>FILE.TXT)如果您有时只希望在控制台(屏幕)上输出,而有时只希望将输出发送到文件,而有时又希望同时发送给两个文件,请使用变量指定FOR循环的“ DO”子句,如下所示%TOECHOWHERE%。@ECHO OFFFOR %%I IN (TRUE FALSE) DO (  FOR %%J IN (TRUE FALSE) DO (    SET TOSCREEN=%%I & SET TOFILE=%%J & CALL :Runit))GOTO :Finish:Runit  REM Both TOSCREEN and TOFILE get assigned a trailing space in the FOR loops  REM above when the FOR loops are evaluating the first item in the list,  REM "TRUE".  So, the first value of TOSCREEN is "TRUE " (with a trailing  REM space), the second value is "FALSE" (no trailing or leading space).  REM Adding the ": =" text after "TOSCREEN" tells the command processor to  REM remove all spaces from the value in the "TOSCREEN" variable.  IF "%TOSCREEN: =%"=="TRUE" (      IF "%TOFILE: =%"=="TRUE" (          SET TEXT=On screen, and in "FILE.TXT"          SET TOECHOWHERE="ECHO %%I & ECHO %%I>>FILE.TXT"        ) ELSE (          SET TEXT=On screen, not in "FILE.TXT"          SET TOECHOWHERE="ECHO %%I"      )    ) ELSE (      IF "%TOFILE: =%"=="TRUE" (          SET TEXT=Not on screen, but in "FILE.TXT"          SET TOECHOWHERE="ECHO %%I>>FILE.txt"        ) ELSE (          SET TEXT=Not on screen, nor in "FILE.TXT"          SET TOECHOWHERE="ECHO %%I>NUL"      )  )  FOR /F "tokens=*" %%I IN ("%TEXT%") DO %TOECHOWHERE:~1,-1%GOTO :eof:Finish  ECHO Finished [this text to console (screen) only].  PAUSE

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值