導航:首頁 > 版本升級 > bat文件call用法

bat文件call用法

發布時間:2021-10-21 01:27:38

㈠ 批處理CALL,調用其他批處理子程序的用法

我覺得問題出現在e的身上,如果你有學過C語言的話應該比較好理解。就是C只是在2.cmd這個文件中,作為裡面的一個局部的參數,調用了1.cmd,雖然在1.cmd裡面做了運算,但運算的結果是沒有傳遞出來的。所以e的值還是為0.就好像C要用return 把參數值傳回來那樣,又或者,如果e是一個全局變數的話,或許還行。不過在DOS裡面我不知道有沒有全局變數這個概念。所以,你要實現這種值傳遞的話,恐怕,用批處理不是什麼好的選擇。如果你只是想學習一下call的調用的話,基本上你已經會了

後來想想,或許能用批處理中的errorlevel作為返回值。於是把你的批處理修改了一下,代碼如下:
一、1.cmd
@echo off
set /a t=%1+1
set errorlevel=%t%
GOTO :EOF

二、2.cmd
@ECHO OFF
set /a e=0
call 1.cmd 22
set e=%errorlevel%
echo %e%
pause>nul

這樣就實現了值傳遞了,如有需要,我們可以探討一下,我的QQ:243488442

㈡ 批處理call的使用:語句

你代碼沒加入中斷或退出,所以會繼續往下執行到 1:的位置,所以會多輸出一個1,然後通過goto :eof退出了腳本(此時因為非call調用,goto :eof將退出腳本)

修改方法:

在 call 3: 下面加上 pause 或exit 即可

㈢ 批處理call命令

用start。先cd Data,再start cmd /c b.bat,也可以直接用絕對路徑,比如在cd之前先保存%1%或者用push命令。call只能調用腳本內部的代碼(我不知道能不能調用外部的)。

㈣ DOS批處理里調用CALL命令的先後問題

呵呵……好說好說……
把所有的call去掉即可順序執行,即執行1後,等1退出後再執行2……

㈤ 求助批處理call語句解釋

call一般用於2鍾用途

1. 跳轉標簽

例:call:標簽1

執行到這一種語句,程序腳本會自動匹配到指定的標簽:標簽1

在從標簽那一行繼續往下執行(程序由上往下執行)

例:

@echooff
call:text1
echo123
pause

:text1
echo234
pause

例如這一段代碼,程序最終會顯示字元串234,字元串123則不會顯示出來

因為上一句使用了call語句,用於跳轉至指定的標簽


2. 傳遞參數

例A:call:text1123
例B:calla.bat123

這2個語句都會傳遞一個參數,參數是用變數形式傳遞,%1-%9,默認是9個參數

在使用參數的時候,根據程序需要,都會有一個返回值參數

這個返回值參數,一般用於比較特殊的程序思路,關於返回值的用法,一句二局說不明白

這里我指跟你說一下一般的傳遞參數的使用

例A

@echooff
call:函數A123
echo%Num%
pause

:函數A
setNum=123
set/aNum+=%1
exit/b

這一段代碼,函數A,您可以當做一個函數模塊,功能用於計算

如果是一些大型的腳本,方便長期維護,這樣的寫法是非常好的

call 函數A 標簽 傳遞一個數值123

那麼函數A就會吧這個數值用於計算,最後返回回去,得兒最終顯示結果


那麼例B,其實跟例A用法其實一樣,但是裡面存在了一個返回值的特性

如果您想了解返回值,多研究exit的語句,純手打!希望對您有幫助!

㈥ 求批處理中Call詳細用法並有例子加以說明,謝謝

從批處理程序調用另一個批處理程序。

CALL [drive:][path]filename [batch-parameters]

batch-parameters 指定批處理程序所需的命令行信息。

如果命令擴展名被啟用,CALL 會如下改變:

CALL 命令現在將卷標當作 CALL 的目標接受。語法是:

CALL:label arguments

一個新的批文件上下文由指定的參數所創建,控制在卷標被指定
後傳遞到語句。您必須通過達到批腳本文件末兩次來 "exit" 兩次。
第一次讀到文件末時,控制會回到 CALL 語句的緊後面。第二次
會退出批腳本。鍵入 GOTO /?,參看 GOTO : EOF 擴展名的描述,
此描述允許您從一個批腳本返回。

另外,批腳本文本參數參照(%0、%1、等等)已如下改變:

批腳本里的 %* 指出所有的參數(如 %1 %2 %3 %4 %5 ...)

批參數(%n)的替代已被增強。您可以使用以下語法:

%~1 - 刪除引號("),擴充 %1
%~f1 - 將 %1 擴充到一個完全合格的路徑名
%~d1 - 僅將 %1 擴充到一個驅動器號
%~p1 - 僅將 %1 擴充到一個路徑
%~n1 - 僅將 %1 擴充到一個文件名
%~x1 - 僅將 %1 擴充到一個文件擴展名
%~s1 - 擴充的路徑指含有短名
%~a1 - 將 %1 擴充到文件屬性
%~t1 - 將 %1 擴充到文件的日期/時間
%~z1 - 將 %1 擴充到文件的大小
%~$PATH : 1 - 查找列在 PATH 環境變數的目錄,並將 %1
擴充到找到的第一個完全合格的名稱。如果環境
變數名未被定義,或者沒有找到文件,此組合鍵會
擴充到空字元串

可以組合修定符來取得多重結果:

%~dp1 - 只將 %1 擴展到驅動器號和路徑
%~nx1 - 只將 %1 擴展到文件名和擴展名
%~dp$PATH:1 - 在列在 PATH 環境變數中的目錄里查找 %1,
並擴展到找到的第一個文件的驅動器號和路徑。
%~ftza1 - 將 %1 擴展到類似 DIR 的輸出行。

在上面的例子中,%1 和 PATH 可以被其他有效數值替換。
%~ 語法被一個有效參數號碼終止。%~ 修定符不能跟 %*
使用

來自:cmd ——> call /? > xxx.txt

回答者: bmgeng - 三級 2009-5-16 10:57

檢舉 Call語句調用另一個(子)程序,並等待其執行後返回正確或錯誤結果.
返回的位置是Call語句的末尾.

Start語句調用另一個(子)程序,但是不需返回.

請比較:
call attrib -h -r c:\auto.bat
start attrib -h -r c:\auto.bat

或:
call attrib -h -r c:\autoexec.bat
start attrib -h -r c:\autoexec.bat

回答者: carlkang - 二級 2009-5-19 18:09

檢舉 call主要用來執行子程序或另一個bat文件
call format就相當於format

㈦ 請詳細講解下批處理文件echo、@、call、pause、rem 命令的具體用法以及含義

1、
顯示信息,或將命令回顯打開或關上。

ECHO [ON | OFF]
ECHO [message]

要顯示當前回顯設置,鍵入不帶參數的 ECHO。
從批處理程序調用另一個批處理程序。

2、
CALL [drive:][path]filename [batch-parameters]

batch-parameters 指定批處理程序所需的命令行信息。

如果命令擴展名被啟用,CALL 會如下改變:

CALL 命令現在將卷標當作 CALL 的目標接受。語法是:

CALL:label arguments

一個新的批文件上下文由指定的參數所創建,控制在卷標被指定
後傳遞到語句。您必須通過達到批腳本文件末兩次來 "exit" 兩次。
第一次讀到文件末時,控制會回到 CALL 語句的緊後面。第二次
會退出批腳本。鍵入 GOTO /?,參看 GOTO : EOF 擴展名的描述,
此描述允許您從一個批腳本返回。

另外,批腳本文本參數參照(%0、%1、等等)已如下改變:

批腳本里的 %* 指出所有的參數(如 %1 %2 %3 %4 %5 ...)

批參數(%n)的替代已被增強。您可以使用以下語法:

%~1 - 刪除引號("),擴充 %1
%~f1 - 將 %1 擴充到一個完全合格的路徑名
%~d1 - 僅將 %1 擴充到一個驅動器號
%~p1 - 僅將 %1 擴充到一個路徑
%~n1 - 僅將 %1 擴充到一個文件名
%~x1 - 僅將 %1 擴充到一個文件擴展名
%~s1 - 擴充的路徑指含有短名
%~a1 - 將 %1 擴充到文件屬性
%~t1 - 將 %1 擴充到文件的日期/時間
%~z1 - 將 %1 擴充到文件的大小
%~$PATH : 1 - 查找列在 PATH 環境變數的目錄,並將 %1
擴充到找到的第一個完全合格的名稱。如果環境
變數名未被定義,或者沒有找到文件,此組合鍵會
擴充到空字元串

可以組合修定符來取得多重結果:

%~dp1 - 只將 %1 擴展到驅動器號和路徑
%~nx1 - 只將 %1 擴展到文件名和擴展名
%~dp$PATH:1 - 在列在 PATH 環境變數中的目錄里查找 %1,
並擴展到找到的第一個文件的驅動器號和路徑。
%~ftza1 - 將 %1 擴展到類似 DIR 的輸出行。

在上面的例子中,%1 和 PATH 可以被其他有效數值替換。
%~ 語法被一個有效參數號碼終止。%~ 修定符不能跟 %*
使用

3、
暫停批處理程序,並顯示以下消息:
請按任意鍵繼續. . . 在批處理文件或 CONFIG.SYS 里加上註解或說明。

4、
REM [comment]

㈧ 批處理Call命令能給我舉例說明嗎

樓主沒有把代碼復制全啊

首先要開啟變數延

解釋問題

call :assoc %%i tpc %%j 用標簽運行 賦值 %1 %2 %3 在這個標簽 %1是 %%i %2 是 tcp %3是 %%j

運行 :assoc 得到返回值再顯示

其他例句

@echooff
for/f"delims=0"%%iin('help')docall:s%%i
pause
:s
echo所有幫助
echo%1

㈨ 批處理(bat)請教,call命令用法

上一級目錄不必用call命令,cd..就改變當前目錄到上一級了cd..\..就上兩級了
pushd ..\..
echo %cd%
popd
如果是引用需要, 直接用 ..\..\代路徑就行了這稱為相對路徑

㈩ 如何在.bat 中call sh 腳本

java執行jar包中的class命令為:java-classpathxxx.jarpackage.MyTools注意:該MyTools中必須包含main函數.例子:1.業務代碼MyTools類含有main函數,包路徑為com.my.test,它引用了oracle的驅動classes12.jar最終打包成Tools.jar2.新建start.bat文件,內容如下(注意要引入classes12.jar,以分號間隔)java-classpathTools.jar;classes12.jarcom.my.test.MyToolspause同樣,sh腳本:要進行dos2unix#!/bin/shcmddir="`dirname$0`"

閱讀全文

與bat文件call用法相關的資料

熱點內容
蘋果的風扇app怎麼下載 瀏覽:161
仙劍歷代發行版本 瀏覽:266
cmp文件夾 瀏覽:473
公眾號小程序源代碼 瀏覽:178
眾心彩票是個什麼APP 瀏覽:815
電腦如何連接藍牙網路 瀏覽:793
篩選後如何計算復雜數據 瀏覽:287
如何把不同品牌的手機數據導出 瀏覽:393
日歷資料庫表的設計 瀏覽:761
代碼如何快速做金字塔數據 瀏覽:775
文件異地同步軟體 瀏覽:383
微信網頁版自動登錄 瀏覽:370
excel如何分開男女數據 瀏覽:883
帝豪gl怎麼打開u盤文件夾在哪裡 瀏覽:477
蘋果皮能用流量嗎 瀏覽:548
電腦寬頻連接共享wifi密碼 瀏覽:655
最新微粒貸app官方下載 瀏覽:923
win10電腦怎麼休眠不斷網 瀏覽:530
如何查到網站的伺服器 瀏覽:225
編程怎麼確定一個數的位數 瀏覽:362

友情鏈接