batスクリプトからログを出力する方法
I. batスクリプトの一般的な出力コマンドは以下の通りです。
"echo output content".
cmdウィンドウやファイルにテキストを出力するにはechoを使用します。batスクリプトは大文字と小文字を区別しないスクリプト言語なので、大文字と小文字の区別は問題ありません。
例
REM output in a command line window
echo Hello World!
pause
を実行すると、コマンドラインウィンドウにHello Worldと出力されます!
batで開いたコマンドラインウィンドウから上記のコマンドを実行すると、CMDの実行関連のプロンプトメッセージも出力されます。余分な出力をオフにしたい場合は、@ECHO OFF を使用することができます(例)。
@ECHO OFF
REM's pure output in the command line window
echo Hello World!
pause
次に、コンテンツをファイルに出力します
リダイレクトを使って、出力をファイルに保存することができます。
リダイレクトの記号としては、>記号と>記号がよく使われます。>は元のファイルの内容を空にし、>>はファイルの内容を追加し、ファイルが存在しない場合はファイルを作成します。
詳しい使い方は以下の通りです。
echo Hello World >file.txt
echo Hello World 1>file.txt
echo Hello World 2>file.txt
実行すると、Hello Worldをfile.txtに出力します。この2行のコードは等価です。ここで、1 は標準出力をリダイレクトすることを意味し、これは通常の出力内容である。そして、2>file.txtは、エラーメッセージをfile.txtに出力するという意味で、画面にはHello Worldが表示され、エラーメッセージだけがfile.txtに保存されることになります。
3つ目は、出力がファイルに追加されることです。
例
echo Hello World >>file.txt
上記の文は、2 >で内容の追記を示し、file.txtの内容が空でなければ、最終行の後に別行でHello Worldが保存されます。
四、bat ファイルの出力を txt ファイルに入れる。
時々、多くの内容を出力することに重点を置いたバッチ実行を書きますが、batの中であまり頻繁にoutput to fileコマンドを試したくないので、どうしたらいいでしょうか。
次のような方法を試してみることができます。
@echo off
call "Batch path">D:\Results.txt
start notepad D:\results.txt
REM Then there is the following
@echo off
call "D:\procedure.bat">D:\results.txt
start notepad D:\results.txt
[例】をご覧ください。]
@ECHO OFF
echo Check and stop the related service ....
echo ------------------------------
for %%i in (wuauserv,yun-wps) do (
sc query "%%i" >nul && (
echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8% start stopping service: %%i >>"%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%.txt" ;
net stop "%%i"
::@ECHO start uninstall service: %var%
::SC DELETE %var%
REM net start "%%i"
REM wmic SERVICE where name="%%i" get State|findstr /i "RUNNING" && ( echo %%i is started. )||( echo %%i not started! Please check the log message. )
)||(
echo %date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,8% service does not exist: %%i automatically skipped>>"%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%.txt& quot;
)
)
echo Execution complete
REM pause
exit /B
上記のスクリプトをtxt内にコピーし、名前を変えてANSIフォーマットで保存します。
WinService-Stop.bat
次に、同じディレクトリに新しいtxtを作成し、以下の段落をコピーしてください。
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "WinService-Stop.bat",0
上記のスクリプトをtxtにコピーしてANSI形式で保存し、名前を: start bat file.vbs に変更すると、batスクリプトを静かに起動してCMDウィンドウを隠し、コマンドラインウィンドウをユーザーに知覚させないために使用されます。この2つのファイルは同じディレクトリにあることに注意してください。
次に、"Computer-Administration-Task Scheduler" に新しいタスクスケジュールを追加し、"Start bat file.vbs" を一定間隔で実行して、Windowsの自動更新を自動的にオフにするように設定します。
<スパン 概要
上記はbatスクリプトの出力ログ方法です、お役に立てれば幸いです、もし何か質問があれば、私にメッセージをください、時間内に返信します。また、スクリプトハウスのウェブサイトを応援してくださる皆様に感謝いたします。
関連
-
[解決済み] libc++abi.dylib: NSException 型のキャッチされない例外で終了する (lldb)
-
[解決済み】ValueError: shape mismatch: オブジェクトを1つの形状にブロードキャストできない
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み】ポインタと整数の比較を警告する
-
[解決済み】エラー:Rの"}"に予期しない'}'が発生する 【重複】Rの"}"に予期しない'}'が発生する。
-
[解決済み】ブール値を返そうとすると TypeError("'bool' object is not iterable",) が発生する。
-
[解決済み] 'row.names'の重複が許されないエラー
-
[解決済み】JavaコンソールのプロンプトでENTERを入力してから次へ進む【重複あり
-
[解決済み】凡例に入れるラベルを持つハンドルが見つからない
-
スクリプトエラーの解決方法 現在のページのスクリプトエラーの解決方法をまとめてみました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】dyld: ライブラリがロードされない ... 理由: 画像が見つからない
-
[解決済み】C#コンパイラーエラー。"すべてのコードパスが値を返すわけではない"
-
[解決済み】Heroku + node.jsのエラー(Webプロセスが起動後60秒以内に$PORTにバインドできなかった)。
-
[解決済み] エラー: '...'のメンバー '...'が非クラス型である場合のリクエスト
-
[解決済み】non-constへの参照の初期値はlvalueでなければならない。
-
[解決済み】Webpack - クリティカルな依存関係:依存関係の要求は、式です。
-
[解決済み】onActivityResult()が呼ばれない
-
[解決済み】Java エラー。比較メソッドがその一般的な契約に違反している
-
[解決済み】Javascript Uncaught TypeError: 未定義のプロパティ'0'を読み取れない
-
[解決済み】MVC5 / C# - ヌル参照で実行時バインディングを実行できない。