回覆列表
-
1 # 好媽媽鈐
-
2 # lanfengz3
@echo off
call :test
echo %uname%
pause
:test
Setlocal Enabledelayedexpansion
for /f "tokens=2 delims==" %%i in (config.cfg) do (
set /a num+=1
if !num! EQU 1 set uname=%%i
)
goto :eof
for中變數,開啟Setlocal後必須使用感嘆號,而不是百分號
好的 set /a就是算術運算@echo offset /p cho=請輸入:set /a res = %cho%+5-13*6echo %cho%+5-13*6 = %res%pause>nul批處理命令簡介:echo 命令打開回顯或關閉請求回顯功能,或顯示訊息。如果沒有任何引數,echo命令將顯示當前回顯設定。語法echo [{on|off}] [message]Sample:@echo off / echo hello world在實際應用中我們會把這條命令和重定向符號(也稱為管道符號,一般用> >> ^)結合來實現輸入一些命令到特定的檔案中。rem 命令註釋命令,類似於在C語言中的/*--------*/,它並不會被執行,只是起一個註釋的作用,只有在編輯批處理時才會被看到,主要用於方便修改。:: 也具有rem的功能但::和rem還是有區別的,當關閉回顯時,rem和::後的內容都不會顯示。但是當打開回顯時,rem後的內容會顯示出來,然而::後的內容仍然不會顯示。Rem [註釋內容]示例:Rem 你好。pause 命令暫停命令。執行 Pause 命令時,將顯示下面的訊息:Press any key to continue. . .(或:請按任意鍵繼續. . .)示例:@echo off:begincopy G:*.* d:\backecho 請插入另一張光碟...pausegoto begin在這個例子中,驅動器 G 中磁碟上的所有檔案均複製到d:\back中。顯示的註釋提示您將另一張光碟盤放入驅動器 G 時,pause 命令會使程式掛起,以便您更換光碟,然後按任意鍵繼續處理。call 命令從一個批處理程式呼叫另一個批處理程式,並且不終止父批處理程式。call命令接受用作呼叫目標的標籤。如果在指令碼或批處理檔案外使用 Call,它將不會在命令列起作用。語法call [路徑檔名] [標籤]]引數[Drive:}[Path] FileName指定要呼叫的批處理程式的位置和名稱。start 命令呼叫外部程式,所有的DOS命令和命令列程式都可以由start命令來呼叫。如:startcalc.exe即可開啟Windows的計算器。常用引數:MIN 開始時視窗最小化SEPARATE 在分開的空間內開始 16 位 Windows 程式HIGH 在 HIGH 優先順序類別開始應用程式REALTIME 在 REALTIME 優先順序類別開始應用程式WAIT 啟動應用程式並等候它結束parameters 這些為傳送到命令/程式的引數執行的應用程式是 32-位 GUI 應用程式時,CMD.EXE 不等應用程式終止就返回命令提示。如果在命令指令碼內執行,該新行為則不會發生。