批處理如何分主程式和子程式?

2025-02-17 09:25:28 字數 3184 閱讀 8680

1樓:匿名使用者

剛了乙個批處理的問題,拿到這給你做例子吧,下面的**的作用是檢測乙個預設程序,要是不存在則自動關機。其中的:c標籤就是乙個子程式,在主程式中呼叫了這個子程式,**不明白請追問,滿意**好評。

set /p pros=請在這裡輸入你要檢測的程序(如,這個是工作管理員程序,回車結束):

ltasklist /fi "imagename eq !pros!">check

clsping >nul

call :c check

ping >nul

goto l

goto :eof

endecho 按任意鍵取消關機。

pause>nul

shutdown -a

exit

2樓:匿名使用者

帶標籤的一般是子程式比如 call startrem 以下為子程式:startecho hellow worldgoto :eof

批處理如何執行乙個子程式

3樓:網友

有些情況可以用重定向,類似ftp -s那樣,比如。

有些情況只能用vbs模擬鍵盤輸入,比如telnetdim wshshell

set wshshell=createobject("")3000

telnet "

admin"

admin123"""

4樓:網友

用 start 命令。

希望對你有幫助。

做了乙個批處理的總程式。因為做的子程式在f盤,怎樣就是讓這些子程式在任意目錄下都能使用?(詳情見下

5樓:老夭來了

你需要把這個目錄放到系統的path路徑裡。

win7為例:

從「開始」選單選擇「電腦」

從上下文選單選擇「系統屬性」

單擊「高階系統設定 > 高階」選項卡。

單擊「環境變數」,然後在「系統變數」下找到 path 並單擊。

在「」視窗中,通過將指令碼的位置新增到 path 的值來修改 path。如果沒有項 path,可以選擇新增新變數,然後新增 path 作為名稱,新增類位置作為值。

如果未解決請繼續追問!

6樓:網友

你只要打包放到同一目錄下。

call "清理arp快取"

或打包到次級目錄,例如。

call "tools\清理arp快取"

上傳乙個示例附件。

批處理call,呼叫其他批處理子程式的用法

7樓:網友

我覺得問題出現在e的身上,如果你有學過c語言的話應該比較好理解。就是c只是在這個檔案中,作為裡面的乙個區域性的引數,呼叫了,雖然在裡面做了運算,但運算的結果是沒有傳遞出來的。所以e的值還是為0.

就好像c要用return 把引數值傳回來那樣,又或者,如果e是乙個全域性變數的話,或許還行。不過在dos裡面我不知道有沒有全域性變數這個概念。所以,你要實現這種值傳遞的話,恐怕,用批處理不是什麼好的選擇。

如果你只是想學習一下call的呼叫的話,基本上你已經會了。

後來想想,或許能用批處理中的errorlevel作為返回值。於是把你的批處理修改了一下,**如下:

一、echo off

set /a t=%1+1

set errorlevel=%t%

goto :eof

二、echo off

set /a e=0

call 22

set e=%errorlevel%

echo %e%

pause>nul

這樣就實現了值傳遞了,如有需要,我們可以**一下,我的。

做了乙個批處理的總程式。因為做的子程式在f盤,怎樣就是讓這些子程式在任意目錄下都能使用?(詳情見下

8樓:老夭來了

你需要把這個目錄放到系統的path路襲孫徑裡。

win7為例:

從「開始」告銷選單選擇「電腦」

從上下文選單選擇「系統屬性」

單擊「高階系統設定 > 高階」選項卡。

單擊「環境變數」,然後在「系統變數」下找到 path 並單擊。

在「」視窗中,通過將指令碼的位置新增到 path 的值來修改 path。如果沒有項 path,可以選擇新增新變數,然後新增 path 作為名稱,新增類位置作為值。

如果解決了您拍友鏈的問題!

如果未解決請繼續追問!

批處理子程式引數傳遞call

9樓:網友

::═代═══碼═══開═══始═══echo off

call :mark1 ret 1 2

rem 這個地方,輸出的是3

echo %ret%

pause&goto :eof

mark1set /a %1=%2+%3

rem 輸出的是ret,有沒有辦法輸出3

call echo %%1%%

goto :eof

══代═══碼═══結═══束═══

批處理子程式傳參

10樓:公子七哥

傳路徑要注意路徑中的空格。

如果路徑有空格,而不加雙引號的話,會把空格後面的字元作為%2

畢竟你是call內部標籤,所以建議在call前面將檔案路徑賦給乙個變數,然後在子程式裡完全可以使用這個變數。

批處理子過程的返回值如何處理。

11樓:開心且清馨丶君子蘭

在子過程中退出時通過。

exit /b 數字。

來指定返回值。

在父中通過。

if errorlevel 數值 ( 來捕獲返回值。

或直接通過 %errorlevel%環境變數來判斷。

如何用批處理在每個資料夾下執行乙個檔案

12樓:因為愛情有糖糖

:start 命令 比如 有4個批處理, 主程式為 其他三個在c:\ d:

e:\ 在主程式里加 start c:\ start d:

start e:\ 這樣就順序把三個批處理都開啟了。

c 中主程式和子程式分別是什麼舉例說明

include using namespace std 函式 宣告int main 主函抄數或主程式bai 剛開始寫bai可能你覺得子du 程式沒什麼用 一個程式運zhi行肯定是dao先執行主程內序容我們當然可以把所有程式都寫在主程式裡面,但是你會發現主程式過於龐大,有些程式反覆使用,那麼我們就寫一...

數控車床主程式和子程式是怎麼呼叫的?例如我想加工工件然後再把它切斷後,再做怎麼呼叫子程式

按照你所講的,那就是要用到m98 和m99了,m98是你寫主程式用的,那個格式是怎麼寫的就要根據你所用的是什麼系統了,不同系統寫的格式是不一樣的,而m99呢,就是子程式呼叫時心須寫的,一般車床的程式到最後都是m30結束,你只要改為m99就行。廣數928主程式呼叫子程式 數控機床怎麼減少迴圈時間,例如...

彙編子程式的問題,組合語言子程式是如何定義的

這不是返回自己本身迴圈執行,而是跳轉到子程式的第一行迴圈而已,有什麼不可以的,迴圈結構,任何地方都可以的。但有一點,子程式不論迴圈多少次,最終必須執行一行返加指令ret,也就是子程式必須要有一條ret指令,你的子程式最後是缺少一行ret指令的,加上了就可以的。組合語言子程式是如何定義的?這樣定義的 ...