求大蝦指導批處理

時間 2022-04-26 16:30:18

1樓:匿名使用者

@echo off

set /p str=請輸入任意長度的字串:

echo 你輸入了字串:"%str%"

call :stringlenth "%str%" num 這句呼叫stringlenth標號後的語句,並且使用str變數的值作為引數,然後字串num作為第二個引數,這個num是用來儲存返回的字串長度的

echo 字串長度為:%num%

pause

exit

然後是標號stringlenth後的語句

:stringlenth

set thestring=%~1 將第一個引數賦值給thestring,%1表示第一個引數,也就是str變數的值,%~1表示去掉外側的引號

if not defined thestring goto :eof 這句表示如果沒輸入字串就返回

set return=0 return初值為0,這個儲存字串的長度

:stringlenth_continue

set /a return+=1 return加上1

將thestring取值為自身從開始到倒數第二個字元間的字串,去掉最後一個字元

if defined thestring goto stringlenth_continue 如果thestring不為空,則返回stringlenth_continue標號執行,繼續將return的值加1,然後去掉最後一個字元,直到thestring為空

將return的值賦給使用第二個引數命名的變數

goto :eof 返回繼續執行呼叫的下條語句

2樓:匿名使用者

call :stringlenth "%str%" num

rem #這是呼叫:stringlenth標籤 ,後面是兩個引數,num 也是引數之一

:stringlenth

set thestring=%~1

rem #這裡的 %~1=%str%,就是上面傳遞的第一個引數.將"%str%"去掉兩端引號後賦值給%thestring%

if not defined thestring goto :eof

rem #如果 %thestring% 為空直接返回.

set return=0

:stringlenth_continue

rem #另一個標籤,用於迴圈.

set /a return+=1

if defined thestring goto stringlenth_continue

rem #%2就是上面傳遞的第二個引數 num,如果 %2 存在就將 %return% 賦值給 %2(num)

goto :eof

也可以將**開頭的 @echo off 改為 @echo on 或者刪除這行.就能看到批處理執行步驟.這樣更容易理解.上面的解釋看懂否.

求定時關機批處理

echo off title 自定義關機時間 sc config schedule start demand net start schedule color 17 mode con cols 80 lines 25 setshutdowntime echo for f tokens 1,2,3,4...

自動關機批處理檔案,求自動關機批處理

echo regedit4 reg.reg echo是輸出的意思,把regedit4寫入檔案reg.reg 是把輸出寫入檔案的意思,如果沒有 reg.reg 就是輸出到顯示屏 echo hkey local machine software microsoft windows currentvers...

批處理start命令,start批處理命令輸入使用者名稱密碼

c documents and settings administrator start 啟動另一個視窗執行指定的程式或命令。start title dpath i min max separate shared low normal high realtime abovenormal belown...