バッチ スクリプトで非常に奇妙なエラーが発生しました。コードは Android Debugging Bridge を使用していますが、adb ではなく cmd に関連するエラーであると確信しています。したがって、基本的には、スクリプトは root アクセスをチェックするだけです。コードのスニペットを次に示します。
@echo off
adb kill-server
adb start-server
adb shell "su" >check.log 2>&1
adb kill-server
"%windir%\system32\find.exe" "#" check.log && goto pass || goto fail
:fail
echo No root access!
pause
:pass
echo Root access detected!
pause
この出力は次のとおりです。
* daemon not running. starting it now on port XXXX *
* daemon started successfully *
* server not running *
---------- CHECK.LOG
goto was unexpected at this time
そして、ウィンドウは自動的に閉じます。
コマンドを手動で入力してコマンド ウィンドウで実行すると、次のようになります。
J:\tools>adb kill-server
J:\tools>adb start-server
* daemon not running. starting it now on port XXXX *
* daemon started successfully *
J:\tools>adb shell su >check.log 2>&1
J:\tools>"%windir%\system32\find.exe" "#" check.log && echo pass || echo fail
---------- CHECK.LOG
fail
誰でも解決策を考えることができますか?私はこのようにそれをやろうとしました:
@echo off
adb kill-server
adb start-server
adb shell "su" >check.log 2>&1
adb kill-server
SET tr=0
"%windir%\system32\find.exe" "#" check.log >nul && SET tr=1 || SET tr=0
if "%tr%"=="1" goto pass
if "%tr%"=="0" goto fail
私はまだ後藤のエラーが発生します。:/ 困惑しています。以前にそのようなステートメントを使用したことがあります。読んでくれてありがとう!:)
ああ、system32 がパスに存在しない場合があります & これは他のユーザーが使用できるように作成されているため、%windir%\system32\ を使用する必要があります