2017年12月14日 星期四

Windows 批次檔-一般命令

可用 「help 命令名稱」看教學


※echo

echo:顯示目前是關閉或開啟
echo xxx:印出xxx
echo.:印出空行,文檔沒有
echo off:關閉左邊的 "C:\USERS\USER>"
echo on:與 echo off 相反
@echo off:和 echo off 一樣,但連本身這一行都不顯示,執行批次才看得出來





第一行可看出有沒有@的差別


※rem

註解,網路上有人也可用「::」,文檔並沒有說明,但我試的結果是可以的
注意,要寫在最前面才行


※pause

螢幕暫停,讓使用者按任意鍵繼續


※call

呼叫另外一支批次檔


※set

針對變數增刪改查,但批次檔一關閉就沒了
增:set a=apple,設定 a 是 apple
刪:set a=,設定為空就是刪除
改:set a=apples,key一樣,value不同就會修改了
查:set,1.什麼都不用加就能查看全部的變數  2.set a 為查看 a 開頭的變數

set a=apple
如果要用 echo 顯示,就要用%將變數包起來,注意「=」的前後不可空

使用 echo 時,內鍵命令也可用 %包起來,如 date、cd、windir、systemroot…等


※setlocal、endlocal


這兩個命令包起來的變數是區域變數

※setVar.cmd

@echo off
echo -----setVar.cmd start-----
set b=banana
    
setlocal
set c=cat
echo %b%,%c%
endlocal
    
echo %b%,%c%
echo -----setVar.cmd end-----
pause



※setVar2.cmd

@echo off
echo -----setVar2.cmd start-----
echo %b%,%c%
call setVar.cmd
echo %b%,%c%
echo -----setVar2.cmd end-----
pause


倒數第二行的 setVar2.cmd end 可看出 banana 是抓的到的,但區域變數 cat 抓不到


沒有留言:

張貼留言