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