第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

成功后哪個(gè)cmd.exe內(nèi)部命令將ERRORLEVEL清除為0?

成功后哪個(gè)cmd.exe內(nèi)部命令將ERRORLEVEL清除為0?

成功后哪個(gè)cmd.exe內(nèi)部命令將ERRORLEVEL清除為0?在Windows批處理腳本中處理錯(cuò)誤的常用方法是使用if errorlevel 1 ...或等if %errorlevel% neq 0 ...。通常,人們希望錯(cuò)誤處理代碼保留ERRORLEVEL。我相信所有外部命令總是會(huì)導(dǎo)致ERRORLEVEL被設(shè)置為某個(gè)值,因此錯(cuò)誤處理代碼必須在執(zhí)行外部命令之前在環(huán)境變量中保留ERRORLEVEL。但內(nèi)部命令怎么樣?問(wèn)題是,一些內(nèi)部命令在成功時(shí)將ERRORLEVEL清除為0,而有些則沒(méi)有。而且我找不到任何指定哪些命令做什么的文檔。所以問(wèn)題是,哪些內(nèi)部命令成功后將ERRORLEVEL清除為0?這不是關(guān)于返回的ERRORLEVEL代碼的一般問(wèn)題,而是關(guān)于成功結(jié)果的嚴(yán)格問(wèn)題。注意: 多年來(lái)我一直很好奇。所以我最終決定進(jìn)行一系列實(shí)驗(yàn)并得出一個(gè)明確的答案。我發(fā)布此問(wèn)答來(lái)分享我發(fā)現(xiàn)的內(nèi)容。
查看完整描述

2 回答

?
鴻蒙傳說(shuō)

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

您對(duì)CALL命令的描述不完整:


CALL:如果CALLed命令沒(méi)有設(shè)置它,則清除ERRORLEVEL。示例:call echo OK。


檢查這個(gè)小例子:


@echo off


call :setTwo

echo Set two: %errorlevel%


call :preserve

echo Preserve: %errorlevel%


call echo Reset

echo Reset: %errorlevel%


call :subNotExists 2> NUL

echo Sub not exist: %errorlevel%


goto :EOF


:setTwo

exit /B 2


:preserve

echo Preserve

exit /B

輸出:


Set two: 2

Preserve

Preserve: 2

Reset

Reset: 0

Sub not exist: 1

CALL 描述應(yīng)該說(shuō)是這樣的:


CALL:如果CALLed命令沒(méi)有設(shè)置它,則清除ERRORLEVEL。示例:call echo OK,但如果被調(diào)用的命令是子例程,則它會(huì)保留先前的ERRORLEVEL。如果被調(diào)用的子程序不存在,則將ERRORLEVEL設(shè)置為1。


查看完整回答
反對(duì) 回復(fù) 2019-08-28
  • 2 回答
  • 0 關(guān)注
  • 1309 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)