1劲装、 SETLOCAL的用法
2、chcp的用法
3昌简、PUSHD命令和POPD命令
今天打開一個批處理文件占业,發(fā)現(xiàn)里面是這樣的:
@echo off
SETLOCAL
:: change active code page to 65001 for utf-8
chcp 65001
……
:: SHELL_ROOT - Location(Path) of this batch file
pushd "%~dp0"
set SHELL_ROOT=!cd!
popd
:: REDIST_ROOT - The root path of redist
set REDIST_ROOT=!SHELL_ROOT!/../..
pushd "!REDIST_ROOT!"
set REDIST_ROOT=!cd!
popd
ENDLOCAL
調(diào)查之后發(fā)現(xiàn),SETLOCAL ……ENDLOCAL 的設(shè)定纯赎,只對本批處理文件有效谦疾,即設(shè)置路徑的時候,批處理里面可以單獨(dú)設(shè)置犬金。
那么chcp是干什么用的呢餐蔬?它主要是使批處理里面的字符能夠正常顯示。
比如:
chcp 65001 就是換成UTF-8代碼頁
chcp 936 可以換回默認(rèn)的GBK
chcp 437 是美國英語
PUSHD命令
保存當(dāng)前目錄以供 POPD 命令使用佑附,然后改到指定的目錄樊诺。
POPD命令
更改到 PUSHD 命令存儲的目錄。
如果命令擴(kuò)展被啟用音同,從推目錄堆棧 POPD 驅(qū)動器時词爬,POPD
命令會刪除 PUSHD 創(chuàng)建的臨時驅(qū)動器號。
例如
pushd c:就是記錄下c:盤當(dāng)你轉(zhuǎn)去E:盤后用popd就可以轉(zhuǎn)回c盤