set 命令詳解
在批處理中回顯信息有兩個命令,echo和set /p=nul,它們的共同點(diǎn)在于都是對程序執(zhí)行信
息的屏幕輸出,區(qū)別在于echo是換行輸出,而set /p=nul是不換行追回輸出,這樣說大家可能
不是很理解,下面給出兩個代碼來進(jìn)行比較:
代碼:
@echo off
echo bathome
echo batman
pause>nul
代碼:
@echo off
set /p=bathomenul
set /p=batmannul
pause>nul
運(yùn)行這兩段代碼,大家看到第一段的結(jié)果是分兩行依次在屏幕上輸出了bathome
和batman,而第二段的結(jié)果是在一行中依次輸出了bathome和batman,大家再仔細(xì)點(diǎn)還可看到光
標(biāo)所處的位置也不一樣。好了,就講到這里吧。
一、set的主要作用是賦值
1、set /p a=promptstring
先顯示promptstring,再接受用戶輸入的內(nèi)容,以回車表示結(jié)束,賦值給變量a
2、set /p a=promptstring1.txt
先顯示promptstring,再把""管道號右邊的1.txt文件中從第一個字符開始直到碰到回車符的內(nèi)容賦值給變量a (通常表現(xiàn)為第一行)。
3、set /p a=promptstringnul
先顯示promptstring,再把""管道號右邊nul中內(nèi)容賦值給變量a ,不用用戶按回車就結(jié)束語句。因nul是空設(shè)備,故沒有內(nèi)容可賦值,變量a仍屬未定義。
二、因?yàn)樵诮邮苡脩糨斎肭翱上蕊@示promptstring,故此set還可當(dāng)作顯示命令用(僅作為顯示命令使用時(shí),可省略變量a)
1、set /p =promptstring
顯示promptstring,再接受用戶輸入的內(nèi)容,以回車表示結(jié)束。如用戶直接按回車則僅顯示promptstring。(賦值給空變量,賦值意義已喪失,僅作顯示之用,需用戶按回車鍵結(jié)束語句,無多大實(shí)際用途)
2、set /p =promptstring1.txt
先顯示promptstring,再把""管道號右邊的1.txt文件中從第一個字符開始直到碰到回車符的內(nèi)容賦值給空變量(無實(shí)際用途)
3、set /p =promptstringnul
先顯示promptstring,再把""管道號右邊nul中內(nèi)容賦值給空變量,不用用戶按回車就結(jié)束語句,實(shí)際中常用這個句式作為顯示語句。因顯示promptstring后光標(biāo)不換行,故實(shí)際中這個句式用到很多。如2樓所述,還有光標(biāo)退格等。