標籤:互動式 name 系統變數 重要 應該 十進位 字母 批次檔 rem
視窗自動關閉:批次檔執行完之後,視窗會自動關閉,若想執行完之後,視窗不自動關閉的話,在檔案末尾添加
1. 批次檔執行完之後,視窗會自動關閉
2. 若想執行完之後,視窗不自動關閉的話,在檔案末尾添加 pause 即可。
REM 是個注釋命令一般是用來給程式加上註解的,該命令後的內容在程式執行的時候將不會被顯示和執行。
@在批處理中的意思是關閉當前行的回顯。我們從上面知道用命令echo off可以關掉整個批處理的命令回顯但卻不能不顯示echo off這個命令。現在我們在這個命令前加上@這樣echo off這一命令就被@關閉了回顯從而達到所有命令均不回顯得要求
批處理單獨輸入分行符號
echo.和echo/ 輸入單獨的換行,echo和點、斜杠之間沒有空格,單獨輸入echo顯示的是echo當前的狀態,如果之前使了echo off ,那麼提示就是“echo處於關閉狀態”;如果前面使用了“echo on”,那麼提示就是“echo處於開啟狀態”。
set:設定或修改變數值,文法set [variable=[string]]
variable是變數名,string是給變數指定的值(一系統字串)
注意:變數名後緊跟等號(=),中間不可有空格,否則賦值失敗。等號(=)後可以有空格,但空格會作為一個字元來出現。所以,在使用set賦值時,等號前後都不應該有空格的!
例如:
set var=2
echo %var%
在set指定變數值時,若環境中已存在該變數,則用新值替換舊值,若等號後無值,則只清除舊值。
【變數查看】
查看當前所有系統變數,直接輸入set,後面不帶任何參數。
查看所有以某個字母開頭的一系列環境變數(就是變數),只要在set命令後加上首字母即可,如顯示所有以P開頭的變數,則輸入:set P。若當前環境中未找到以P開頭的變數名,則將errorlevel設定成1。
【變數引用】
在引用變數時,變數名的兩邊需要分別用百分比符號(%)擴起來,如%var%。
【變數賦值】
除了基本的變數賦值,set還有兩種帶參數的賦值方式/a和/p,這兩種方式大大增強了set的功能,具體如下:
/p
互動式將變數值賦為使用者輸入的值,讀取使用者輸入值前,可以有提示字串(也可不寫提示字串,不過一般都有),例如:
@echo off
set /p name=請輸入使用者名稱:
set /p pw=請輸入密碼:
if %name% == 姓名 (echo 你輸入使用者名稱是:姓名) else (echo 使用者名稱輸入錯誤)
if %pw% == 123456 (echo 你輸入密碼是:123456) else (echo 密碼輸入錯誤)
pause
上面的代碼只是做簡單的測試,在實際運用上非常重要,如,我們可以讓使用者輸入使用者名稱、密碼,然後去串連Oracle資料庫,去執行指定檔案夾中的指令碼。
【常用系統變數】
%DATE%:當前日期。
%TIME%:目前時間。
%RANDOM%:0和32767之間的任意十進位數字。
%ERRORLEVEL%:當前ERRORLEVEL數值。
%0:當前完整全路徑(帶雙引號)
%~0:當前完整全路徑(無雙引號)
%~s0:當前短全路徑名(無雙引號)
%~f0:當前全路徑
%cd%:目前的目錄(無檔案名稱)
%~d0:當前盤符
%~p0:目前的目錄(無盤符無檔案名稱)
%~n0:當前檔案名稱
%~x0:當前副檔名
%~t0:當前檔案最後修改時間
%~z0:當前檔案大小(B)
Windows 批次檔