Windows批處理命令
Windows下不區分大小寫!
Batch:
batch -- 批處理;
batch file -- 批處理檔案;
DOS批處理;
由DOS或者Windows內嵌命令直譯器(如cmd.exe)解釋執行;
類似Unix中的shell指令碼;
在批處理中,不僅可以使用系統本身提供的命令,還能使用已安裝的第三方提供的工具或軟體;
一般情況下,每條命令佔一行,當然也可以將多條命令用特定符號(&,&&,|,||)分隔後寫到同一行;
系統在解釋執行批處理程式時,首先掃描整個批處理程式,然後從第一行程式碼開始詳細逐句執行所有命令,直至程式結尾或遇見 exit 命令或出錯意外退出。
基礎批處理命令:
echo #開啟或關閉回顯;
rem #註釋命令;
pause #暫停命令;
call #從一個批處理程式呼叫另一個批處理程式,並且不終止父批處理程式;
start #呼叫外部程式,所有的 dos命令 都可以由start命令來呼叫;
goto #跳轉命令;
set #顯示、設定或刪除變數;
批處理常用符號
回顯遮蔽 @
輸出重定向 > 與 >>
輸入重定向 <
管道符號 |
轉義符 ^
邏輯命令符 & && ||
&,無條件執行&後面的命令;
&&,當&&前面的命令成功後才執行&&後面的命令,否則不執行;
||,當 || 前面的命令失敗時,才執行 || 後面的命令,否則不執行;
基礎 dos 命令
檔案作業系統
vol
lable
資料夾管理
cd
md/mkdir
rd/rmdir
dir
tree
path
xcopy
檔案管理
type
copy
del/erase
move
ren/rename
replace
attrib
find
fc
網路相關
ping
ftp
net
telnet
ipconfig
msg
arp
系統管理
at
shutdown
tskill
taskkill
tasklist
sc
reg
powercfg
其他命令
cls
assoc
ftype
對於以上列出的命令,cmd中,在命令後面 /? 即可檢視該命令的幫助資訊。
批處理命令用法:
echo和@回顯控制命令
echo #關閉單行回顯;
echo off #從下一行開始關閉回顯;
@echo off #從本行開始關閉回顯,一般批處理第一行都是這個;
echo on #從下一行開始開啟回顯;
echo #顯示當前是 echo on 還是 echo off ;
echo. #輸出一個“回車換行”;
echo hello world #輸出 hello world
#關閉回顯 是指執行批處理檔案時,不顯示檔案裡的每條命令,只顯示執行結果批處理開始和結束時,系統都會自動開啟
errorlevel程式返回碼
echo %errorlevel% #檢視返回碼的值
#執行成功預設為 0;一般命令執行出錯為 1
dir顯示目錄的檔案和子目錄列表
dir
dir /a #列出所有檔案和目錄,包括隱藏檔案;
dir d: #列出D盤;
dir d: /A:d #列出D盤中的目錄;
#/A:屬性
/A 顯示具有指定屬性的檔案。
#屬性
D 目錄 R 只讀檔案
H 隱藏檔案 A 準備存檔的檔案
S 系統檔案 I 無內容索引檔案
L 解析點 - 表示“否”的字首
type顯示檔案內容
type d:\hello.txt
title
title HelloWorld
#設定cmd視窗的標題
date和time
date #顯示並修改日期
time #顯示並修改時間
goto 和 :
:label
goto label #跳轉到指定的標籤,並從標籤後一條命令開始執行批處理程式
find(外部命令)
find “abc” d:\hello.txt
tasklist | find /i "qq.exe"
#成功則errorlevel為0,如果找不到,則設定為1
%0 %1 %2 %3 %4 %5...%*
命令列傳遞給批處理的引數,類似shell中$0,$1...
%0 批處理檔案本身
%1 第一個引數
%* 從第一個引數開始的所有引數
批引數(%n)的替代已被增強
%~f1 - 將 %1 擴充到一個完全合格的路徑名
%~d1 - 僅將 %1 擴充到一個驅動器號
%~p1 - 僅將 %1 擴充到一個路徑
%~n1 - 僅將 %1 擴充到一個檔名
%~x1 - 僅將 %1 擴充到一個副檔名
%~s1 - 擴充的路徑指含有短名
%~a1 - 將 %1 擴充到檔案屬性
%~t1 - 將 %1 擴充到檔案的日期/時間
%~z1 - 將 %1 擴充到檔案的大小
%~$PATH : 1 - 查詢列在 PATH 環境變數的目錄,並將 %1擴充到找到的第一個完全合格的名稱。如果環境變數名未被定義,或者沒有找到檔案,此組合鍵會擴充到空字串
可以組合修訂符來取得多重結果
%~dp1 - 只將 %1 擴充套件到驅動器號和路徑
%~nx1 - 只將 %1 擴充套件到檔名和副檔名
%~dp$PATH:1 - 在列在 PATH 環境變數中的目錄裡查詢 %1並擴充套件到找到的第一個檔案的驅動器號和路徑
%~ftza1 - 將 %1 擴充套件到類似 DIR 的輸出行
if命令
if "%1"=="/a" echo 第一個引數是/a
if /i "%1" equ "/a"
if exist f:\hello.txt (
echo 存在
)else(
echo 不存在
)
setlocal和endlocal
設定"命令副檔名"和"延緩環境變數擴充"
setlocal enableextensions #啟用命令副檔名
setlocal disableextensions
setlocal enabledelayedexpansion #啟用延緩環境變數
setlocal disabledelayedexpansion
endlocal #恢復到使用setlocal語句前的狀態
set設定變數
引用變數可在變數前加 %,即 %變數名%
set #顯示目前所有可用的變數,包括系統變數和自定義的變數
echo %SystemDrive% #顯示系統盤碟符。系統變數可以直接引用
set p #顯示所有以p開頭的變數,要是一個也沒有就設errorlevel=1
set p=aa1bb1aa2bb2 #設定變數p,並賦值為 = 後面的字串,即aa1bb1aa2bb2
echo %p% #顯示變數p代表的字串,即aa1bb1aa2bb2
echo %p:~6% #顯示變數p中第6個字元以後的所有字元,即aa2bb2
echo %p:~6,3% #顯示第6個字元以後的3個字元,即aa2
echo %p:~0,3% #顯示前3個字元,即aa1
echo %p:~-2% #顯示最後面的2個字元,即b2
echo %p:~0,-2% #顯示除了最後2個字元以外的其它字元,即aa1bb1aa2b
echo %p:aa=c% #用c替換變數p中所有的aa,即顯示c1bb1c2bb2
echo %p:aa=% #將變數p中的所有aa字串置換為空,即顯示1bb12bb2
echo %p:*bb=c% #第一個bb及其之前的所有字元被替換為c,即顯示c1aa2bb2
set p=%p:*bb=c% #設定變數p,賦值為 %p:*bb=c% ,即c1aa2bb2
set /a p=39 #設定p為數值型變數,值為39
set /a p=39/10 #支援運算子,有小數時用去尾法,39/10=3.9,去尾得3,p=3
set /a p=p/10 #用 /a 引數時,在 = 後面的變數可以不加%直接引用
set /a p=”1&0″ #”與”運算,要加引號。其它支援的運算子參見set/?
set p= #取消p變數
set /p p=請輸入
一些動態變數
%SystemDrive% #系統碟符
%CD% #代表當前目錄的字串
%DATE% #當前日期
%TIME% #當前時間
%RANDOM% #隨機整數,介於0~32767
%ERRORLEVEL% #當前 ERRORLEVEL 值
%CMDEXTVERSION% #當前命令處理器副檔名版本號
%CMDCMDLINE% #呼叫命令處理器的原始命令列
start命令
批處理中呼叫外部程式的命令,否則等外部程式完成後才繼續執行剩下的指令
call命令
批處理中呼叫另一個批處理的命令,否則剩下的批處理指令將不會被執行
choice選擇命令
讓使用者輸入一個字元,從而選擇執行不同的命令,返回碼errorlevel為1234...
for迴圈命令
for %%i in (c: d: e: f:) do echo %%i
for /?
subst(外部命令)
對映磁碟
subst #顯示目前所有的對映
subst z: serverd #這樣就可以訪問serverd了
xcopy(外部命令)
檔案拷貝
xcopy e:mp3 f:mpe /s/e/i/y
檢測Windows下某個程式是否存活,不存活則執行,並把它寫入Windows任務計劃中。
tasklist | find /i "mongod.exe"
if errorlevel 1 (
start "" "f:\mongostart.bat"
)
Windows任務計劃
建立基本任務
單位是天,時分秒的話,在最後建立好計劃任務後進入計劃任務屬性去修改!
相關文章
- Windows批處理命令專題Windows
- 批處理命令
- 批處理命令大全
- DOS 批處理命令
- Windows批處理學習(二)——批處理(3)薦Windows
- Windows 批處理之DATE命令的使用方法Windows
- 批處理命令之tree命令
- windows批處理之一:字串處理Windows字串
- Windows批處理檔案Windows
- 批處理檔案命令
- windows自帶刪除forfiles命令批處理詳解Windows
- Windows批處理(cmd/bat)常用命令小結WindowsBAT
- windows sql loader批處理WindowsSQL
- dos批處理命令小記
- windows刪除幾天前檔案的批處理命令Windows
- 開啟windows批處理大門Windows
- 部分Windows批處理指令碼整理Windows指令碼
- windows批處理之三:for迴圈Windows
- DOS 批處理命令For迴圈命令詳解
- 07 Windows批處理之檔案操作Windows
- BAT批處理判斷服務是否正常執行(批處理命令綜合應用)BAT
- windows 批處理備份目錄指令碼Windows指令碼
- Windows10系統優化(批處理)Windows優化
- windows刪除檔案的批處理操作Windows
- 在linux中生成windows的批處理LinuxWindows
- windows批處理之二:基礎知識Windows
- windows cmt bat批處理中的註釋WindowsBAT
- Windows批處理中的變數和值Windows變數
- 使用bat批處理命令打包maven專案BATMaven
- svn常用命令列和批處理命令列
- 簡單批處理內部命令簡介
- 批處理框架框架
- JDBC 批處理JDBC
- 碎片批處理
- 批處理概述
- 修改windows遠端桌面連線埠-批處理Windows
- Windows掃描埠連結數批處理薦Windows
- 04 Windows批處理中的條件執行Windows