2 回答

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊
當(dāng)然,DOS下的GOTO語句只是轉(zhuǎn)向,而非選擇,也就是說,當(dāng)d盤存在12.txt時(shí),會(huì)轉(zhuǎn)到_COPY標(biāo)號(hào)處執(zhí)行,當(dāng)然向下執(zhí)行時(shí),同時(shí)會(huì)執(zhí)行時(shí)_DONE語句的,因?yàn)間oto是轉(zhuǎn)到執(zhí)行,而不是不執(zhí)行以下含有標(biāo)號(hào)的語句的。
但我怎么也沒有想通過,如果條件中d盤不存在12.txt文件時(shí),會(huì)轉(zhuǎn)到_DONE處執(zhí)行,這時(shí)你怎么去拷貝d盤中的12.txt文件呢?真還有這樣的條件嗎?
它是以退出DOS視窗為代價(jià)的。真正的單分支結(jié)構(gòu)這樣寫才行:
@ECHO OFF
IF EXIST d:\12.txt (GOTO _COPY) else (GOTO _DONE)
:_COPY
COPY d:\12.txt e:\
GOTO _Exit
:_DONE
copy d:\12.txt f:\
:_EXIT
這樣只要保證進(jìn)入上一分支時(shí)進(jìn)行再次的轉(zhuǎn)向就可以了!

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
@ECHO OFF
IF EXIST d:\12.txt (GOTO _COPY) else (GOTO _DONE)
:_COPY
COPY d:\12.txt e:\
exit
:_DONE
copy d:\12.txt f:\
添加回答
舉報(bào)