2

私は dos バッチ スクリプトを作成しています。やりたいことの 1 つは、コマンド ラインを標準出力とテキスト ファイルの両方にリダイレクトすることです。どちらかはできますが、両方はできません。また、別のバッチ スクリプトで呼び出すことも、コマンド ラインで呼び出すこともできません。

実行したいコマンドはreg add "%regKey%" /f であり、出力はThe operation completed sucessfully.であり、標準出力に表示してテキスト ファイルに追加したい。

これまでのところ、私は試しました:

reg add "%regKey%" /f>>%logfile%>CON<-- テキストファイルにのみ追加

reg add "%regKey%" /f>CON>>%logfile%<-- 標準出力のみに表示

このSOを見ましたが、これは bash 用です。

4

2 に答える 2

2
reg add "%regKey%" /f>>%logfile%
type %logfile%

これは、自分自身、およびスクリプトを見て一緒に来る他の人にとって理解しやすいものです。

于 2012-06-05T22:15:41.777 に答える
0

私はそれを解決しました。ここに魔法がありますが、パフォーマンスはそれほど優れておらず、特定の場合には機能しません。

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set logfile=test.out
echo. 2>%logfile% 
set /A count=0
set /A lastline=0
:loop
if not %count%==100 (
  set /A count += 1
  SET PR >> %logfile%
  CALL :printlog
  goto :loop
)
goto :pause
:printlog
SET incount=0
FOR /F "delims=" %%M in (%logfile%) DO (
    set /A incount +=1
    if %incount% GEQ %lastline% (
      ECHO %%M
      SET /A lastline=%incount%
    )
)
ECHO -
EXIT /B 0
:pause
pause
于 2013-02-01T22:53:16.327 に答える