憂鬱、バッチ:psexec(送信コマンドチェーン)内の "出力の文字列"
私は私の小さなプロジェクトで私を助けることを望んでいます。 しばらくの間、仕事量は少なくても効率は同じレベルの仕事を処理するツールを作っていました。ここで
は、私はとのトラブルを抱えている部分である:
@echo off
title Hardware Check
color f
echo """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
echo " _ _ _ ____ _ _ "
echo "| | | | __ _ _ __ __| __ ____ _ _ __ ___/___| |__ ___ ___| | __"
echo "| |_| |/ _` | '__/ _` \ \ /\// _` | '__/ _ | | | '_ \/_ \/ __| |/ /"
echo "| _ | (_| | | | (_| |\ V V | (_| | | | __| |___| | | | __| (__| < "
echo "|_| |_|\__,_|_| \__,_| \_/\_/ \__,_|_| \___|\____|_| |_|\___|\___|_|\_\"
echo """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
echo " "
echo """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
echo.
echo "Which server do you want to check?"
echo.
set /p ans="Machine: "
echo.
psexec \\%ans% cmd /c (^ omreport system^ ^& echo.^ ^& omreport chassis^ ^& echo.^ ^& omreport storage pdisk controller=0^ ^& echo.^ ^& uptime^ ^& echo.^ ^& pause^ ^& echo.^)
echo. | findstr /I /B /C:"status" | findstr /I /C:"critical"
if %errorlevel%==0 (color c) else (color a)
echo.
pause
アイデアは、出力データは、単語、「クリティカル」そうであれば、色、赤色用のすべてのテキストが含まれている場合は、コマンドを送信した後、バッチがチェックすべきことです、それ以外の場合は緑の色になります。それが見つけ、原因赤い状態色にすべきテキストの
例:私はこれを実行すると、条件が満たされているかどうかバッチが本当に気にしないように
Status : Non-Critical
、それは緑のために、それは常に色、と思われます。 どこに間違いがあり、どのように修正して動作させるのかが分かっていれば、感謝しています。
'psexec \\%ans%cmd/c ^(omreport ...'( '^('しかし ''(^ ')には注意してくださいね...ところで、引用符'cmd/C'の後にコマンドの前後に何かエスケープする必要はありません... – aschipfl
()の代わりに、この小さな部分のコードは真ですが、それはコードのほんの一部であり、サービスとプロセス 私が動作しない部分は、テキストの色付きのものだと言っていたので:( – mgj1993