命令提示字元的功能按鍵,管線導出導入,
功能按鍵與說明
Tab 自動完成功能,可以節省很多打字時間。F7 輸入過的指令歷史紀錄
Ctrl + C 中斷程式。這個一定要會用
Ctrl + Z
命令提示字元的指令都是大小寫無關,這是Windows系統的特性,但是指令所要的參數寫則會大小寫有關。
命令提示字元內的大部份指令都可以打 指令 /help 來取得相關的說明。
help {系統指令}
顯示該系統指令的說明
cls
清除目前命令提示字元的顯示內容
@echo off
echo this sentence following the echo command will be printed in the screen.
顯示echo後面寫的這串文串
從這行開始不顯示提示內容
echo this sentence following the echo command will be printed in the screen.
顯示echo後面寫的這串文串
pause
要求使用者輸入任意鍵之後才能繼續。
管線就像是兩個命令的結合,原來需要鍵入兩個命令:(1) 將前面命令的資料導出到檔案(2)將檔案導入到後面的命令,使用管線後,只不過中介的"檔案"由系統自動操作不需寫出再寫入。
dir /b 僅顯示檔案名稱
DIR /A-D /B | FIND /C /V ""
將16進位字串改為十進位數值
SET /A DecValue = 0x%HexString%
FOR /F "tokens=1 delims=-0123456789abcdefABCDEF" %%A IN ("%Value%") DO (
ECHO.%Value% is NOT a number
)
Windows 命令提示字元的參考網站
http://commandwindows.com/
微軟的Script Ceneter Gallery [有很多不同的script分享]
http://gallery.technet.microsoft.com/ScriptCenter/en-us/
導出、導入與管線
輸出資料dir > out.txt 將螢幕輸出的資料導向到out.txt中輸入資料
dir >> out.txt 將螢幕輸出的資料加到out.txt中
clip < out.txt 將檔案的內容導入到程式中管道/管線
dir | clip
將螢幕輸出的資料導向到 剪貼簿 中 (Windows 7才有clip)
type xxx.txt可以將txt內的字都印到螢幕上。和導入導出結合可以將兩個檔案作結合。類似Linux上的cat
: 後面接單行註解文字
REM 指令空格後,後面可接單行註解文字
dir /b 僅顯示檔案名稱
dir /s 顯示指定目錄及其子目錄下的檔案。這個指令非常好用,結合/b可以將批次目錄下的檔案列表直接弄好。
dir /a:d 只顯示目錄
dir /o:N 依照英文字母排列順序
dir /a:d 只顯示目錄
dir /o:N 依照英文字母排列順序
copy a.txt+b.tx combined.txt 結合兩個文字檔案
copy /b a.exe+b.exe combined.exe 結合兩個影像檔或是檔案
copy /b a.exe+b.exe combined.exe 結合兩個影像檔或是檔案
copy /b a.exe+b.exe 結合兩個檔案儲存到a.exe中
copy /y *.txt copy/.txt 不要提示是否覆蓋檔案,全部為'是'
copy /y *.txt copy/.txt 不要提示是否覆蓋檔案,全部為'是'
copy NUL a.yuv 建立一個空白的檔案(這個指令超級實用!!)
color f9 改變命令提示字元的顏色配置。
date 顯示目前電腦日期並要求輸入新的日期,按Enter會跳過。
time 顯示目前電腦時間並要求輸入新的時間,按Enter會跳過。
date /t & time /t 顯示日期跟時間
shutdown -r -t 0 立即重新開啟電腦
color f9 改變命令提示字元的顏色配置。
date 顯示目前電腦日期並要求輸入新的日期,按Enter會跳過。
time 顯示目前電腦時間並要求輸入新的時間,按Enter會跳過。
date /t & time /t 顯示日期跟時間
shutdown -r -t 0 立即重新開啟電腦
範例scripts
計算目錄中的檔案數目DIR /A-D /B | FIND /C /V ""
將16進位字串改為十進位數值
SET /A DecValue = 0x%HexString%
FOR /F "tokens=1 delims=-0123456789abcdefABCDEF" %%A IN ("%Value%") DO (
ECHO.%Value% is NOT a number
)
巢狀迴圈的範例,使用goto與for迴圈合作達成
cls
@echo off
echo. > psnr.xls
set /a loop_i=0
:loop_i_label
echo loop_i = %loop_i%
for /L %%j in (0, 5, 200) do (
rem test for loop
rem echo j = %%j
echo %loop_i% %%j > Threshold.txt
rem
rem ldecod.exe
rem
rem estimator the result of ldecod.exe
echo %%j * %loop_i% > avgpsnr.txt
rem
echo %loop_i% %%j >> psnr.xls
type avgpsnr.txt >> psnr.xls
)
set /a loop_i=%loop_i%+2
if %loop_i% GTR 30 (
echo finish!
pause
) else (
goto :loop_i_label
)
http://commandwindows.com/
微軟的Script Ceneter Gallery [有很多不同的script分享]
http://gallery.technet.microsoft.com/ScriptCenter/en-us/
留言