首頁 > 軟體

BAT指令碼接收輸入數位

2022-11-15 14:01:09

bat程式設計,為什麼if語句中接收不到輸入(set /p)的內容

1.使用延遲變數:setlocal EnableDelayedExpansion

2.變數名不是用百分號而是用感嘆號來表示的:  adb shell dumpsys procstats --hours !input_time!

原始指令碼參考:

@echo off
@echo memory infomation
setlocal EnableDelayedExpansion
title 記憶體資訊
if not exist "D:cpu_memory_log" md "D:cpu_memory_log"
set time_hh=%time:~0,2%
if /i %time_hh% LSS 10 (set time_hh=0%time:~1,1%)
set filename=%date:~,4%%date:~5,2%%date:~8,2%_%time_hh%%time:~3,2%%time:~6,2%
echo *************************************************************
echo *                                           *      
echo *                   列印記憶體資訊           *
echo *                   2022年01月19日                *
echo *                   作者:三火哥                  *
echo *                                           *
:while
echo *************************************************************
echo    0:列印所有程序記憶體
echo    1:列印導航記憶體資訊
echo    2:列印surfaceflinger記憶體資訊
echo    3:列印音樂記憶體資訊
echo    4:列印evsrenderengine記憶體資訊
echo    5:列印語音記憶體資訊
echo    6:列印dashboard記憶體資訊
echo    7:列印dashboard的unity記憶體資訊
echo    8:列印智慧燈光記憶體資訊
echo    9:列印radio記憶體資訊
echo    10:列印智慧駕駛記憶體資訊
echo    11:列印舒適太空倉記憶體資訊
echo    12:列印藍芽電話記憶體資訊
echo    13:列印renderservice記憶體資訊
echo    14:列印free記憶體資訊
echo    15:列印高德公版記憶體資訊
echo    16:列印各個程序的最小/平均/最大記憶體資訊
 
set/p input_number=請輸入:
if %input_number% == 0 ( 
  echo 列印所有記憶體
  adb shell dumpsys meminfo
) else if %input_number% == 1 ( 
  echo 列印導航記憶體資訊
  adb shell dumpsys meminfo "$(pidof cn.loopon.app.navi)" 
) else if %input_number% == 2 ( 
  echo 列印surfaceflinger記憶體資訊
  adb shell dumpsys meminfo "$(pidof surfaceflinger)"
) else if %input_number% == 3 ( 
  echo 列印音樂記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.chinatsp.music)"
) else if %input_number% == 4 ( 
  echo 列印引擎記憶體資訊
  adb shell dumpsys meminfo "$(pidof evsrenderengine)"
) else if %input_number% == 5 ( 
  echo 列印語音記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.chinatsp.ifly)"
) else if %input_number% == 6 ( 
  echo 列印dashboard記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.chinatsp.dashboard)"
) else if %input_number% == 7 ( 
  echo 列印dashboard的unity記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.chinatsp.dashboard:unity)"
)else if %input_number% == 8 ( 
  echo 列印智慧燈光記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.chinatsp.smartlights)"
) else if %input_number% == 9 ( 
  echo 列印radio記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.oushang.radio)"
) else if %input_number% == 10 ( 
  echo 列印智慧駕駛記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.chinatsp.eaglepilot)"
) else if %input_number% == 11 ( 
  echo 列印舒適太空倉記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.os.airconditioner)"
) else if %input_number% == 12 ( 
  echo 列印藍芽電話記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.chinatsp.phone)"
) else if %input_number% == 13 ( 
  echo 列印藍芽電話記憶體資訊
  adb shell dumpsys meminfo "$(pidof video.evs.camera:renderservice)"
) else if %input_number% == 14 ( 
  echo 列印free記憶體資訊
  adb shell free -m
) else if %input_number% == 15 (
  echo 列印高德公版記憶體資訊
  adb shell dumpsys meminfo "$(pidof com.autonavi.amapauto)"
) else if %input_number% == 16 (
  echo 列印各個程序的最小/平均/最大記憶體資訊
  set /p input_time=請輸入獲取多長時間的記憶體:
  adb shell dumpsys procstats --hours !input_time!
 
)else ( 
  echo 輸入資料不對
)
@REM loop 
@GOTO while
:wend
 
@PAUSE 
 

到此這篇關於BAT指令碼接收輸入數位的文章就介紹到這了,更多相關BAT輸入數位內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com