日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

Windows批处理符号简介、常用Dos命令

發(fā)布時(shí)間:2025/3/17 windows 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows批处理符号简介、常用Dos命令 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

三、批處理符號(hào)簡(jiǎn)介?

【 回顯屏蔽 @ 】
表示不顯示@后面的命令,在***過(guò)程中(例如使用批處理來(lái)格式化敵人的硬盤(pán))自然不能讓對(duì)方看到你使用的命令啦。?
@用法舉例:通過(guò)運(yùn)行批處理文件對(duì)比pause和@pause命令即可明了@的效果。

【 重定向1 >與>> 】
將輸出信息重定向到指定的設(shè)備或文件。系統(tǒng)默認(rèn)輸出到顯示器。
如:echo aaaaa>a.txt 即可將本在顯示器上顯示的信息aaaaa輸出到文件a.txt中,屏幕上沒(méi)有任何顯示。如果文件a.txt本來(lái)已經(jīng)存在,該命令將首先擦除a.txt中的 所有信息,然后寫(xiě)入信息aaaaa;若a.txt本來(lái)就不存在,該命令即可新建一個(gè)a.txt文件,并寫(xiě)入信息aaaaa。
echo aaaaa>>a.txt 類(lèi)似于echo aaaaa>a.txt。區(qū)別在于:如果a.txt本已存在,>a.txt會(huì)擦除a.txt中的原有內(nèi)容,而>>a.txt并不 擦除原有內(nèi)容,僅在a.txt文件的末尾添加信息aaaaa。a.txt不存在時(shí),二者沒(méi)有差別。

【 重定向2 < 】
將輸入信息來(lái)源重定向?yàn)橹付ǖ脑O(shè)備或文件。系統(tǒng)默認(rèn)從顯示器讀取輸入信息。
重定向使用舉例:
=========================================
@echo off
echo abcdefg——這是文件a.txt中的信息>a.txt
echo 請(qǐng)任意輸入字符,以回車(chē)結(jié)束:
set /p ifo=
cls
echo 【 從屏幕獲得的輸入信息 】
echo %ifo%
set /p ifo=
echo 【 從文件a.txt獲得的輸入信息 】
echo %ifo%
pause>nul
=========================================
讀者觀察命令與輸出即可體會(huì)到重定向的功能和效果。

??【 管道符號(hào) | 】

將管道符號(hào)前面命令的輸出結(jié)果重定向輸出到管道符號(hào)后面的命令中去,作為后面命令的輸入。使用格式為:command_1|command_2
管道符號(hào)使用舉例:
=========================================
@echo off
echo aaaa>a.txt
del /p a.txt
pause
=========================================
@echo off
echo aaaa>a.txt
echo y|del /p a.txt
pause
=========================================
對(duì)比以上兩個(gè)批處理執(zhí)行結(jié)果,讀者即可明白管道符的用法和效果。
需要說(shuō)明的是,上面del命令添加開(kāi)關(guān)/p只是為了讓讀者明白管道符號(hào)的使用方法,實(shí)際刪除文件時(shí)不加/p開(kāi)關(guān)即可實(shí)現(xiàn)無(wú)提示直接刪除。

【 轉(zhuǎn)義符 ^ 】
將特殊符號(hào)轉(zhuǎn)化為一般符號(hào),即剝離特殊符號(hào)的特殊地位。特殊符號(hào)指:| & > <</span>
比如,如果我們想輸出符號(hào)“>”,直接用命令 echo > 是不行的,必須修改為 echo ^> 。其余幾個(gè)特殊符號(hào)類(lèi)似需要有同樣的處理。
轉(zhuǎn)義字符使用舉例:
=========================================
@echo off
echo aaaa>a.txt
echo 第一句echo執(zhí)行完畢
echo aaaa^>a.txt
echo 第二句echo執(zhí)行完畢
pause
=========================================
比較上面的兩句echo,第一句echo將信息aaaa輸出到了文件a.txt,而第二句echo則在直接屏幕上顯示除aaaa>a.txt

【 邏輯命令符 】
邏輯命令符包括:&、&&、||
&-無(wú)條件執(zhí)行&符號(hào)后面的命令;
&&-當(dāng)&&前面的命令成功執(zhí)行時(shí),執(zhí)行&&后面的命令,否則不執(zhí)行;
||-當(dāng)||前面的命令失敗時(shí),執(zhí)行||后面的命令,否則不執(zhí)行。
=========================================
@echo off
echo ^|^|
reg add HKCU /v try /f||echo **成功**
reg add HKCU1 /v try /f||echo **失敗**
echo ^&^&
reg delete HKCU /v try /f&&echo **成功**
reg delete HKCU /v try /f&&echo **失敗**
echo ^&
reg delete HKCU /v try /f&echo **成功**
reg delete HKCU /v try /f&echo **失敗**
pause
=========================================
執(zhí)行reg add或reg delete后,系統(tǒng)會(huì)給出執(zhí)行結(jié)果;我們通過(guò)echo命令也給出了“執(zhí)行結(jié)果”。對(duì)比系統(tǒng)和我們自己給出的結(jié)果,既可以驗(yàn)證邏輯命令的判斷機(jī)理。

??【【 四、常用DOS命令 】】

【 文件夾管理 】
cd 顯示當(dāng)前目錄名或改變當(dāng)前目錄。
md 創(chuàng)建目錄。
rd 刪除一個(gè)目錄。
dir 顯示目錄中的文件和子目錄列表。
tree 以圖形顯示驅(qū)動(dòng)器或路徑的文件夾結(jié)構(gòu)。
path 為可執(zhí)行文件顯示或設(shè)置一個(gè)搜索路徑。
xcopy 復(fù)制文件和目錄樹(shù)。
【 文件管理 】
type 顯示文本文件的內(nèi)容。
copy 將一份或多份文件復(fù)制到另一個(gè)位置。
del 刪除一個(gè)或數(shù)個(gè)文件。
move 移動(dòng)文件并重命名文件和目錄。(Windows XP Home Edition中沒(méi)有)
ren 重命名文件。
replace 替換文件。
attrib 顯示或更改文件屬性。
find 搜索字符串。
fc 比較兩個(gè)文件或兩個(gè)文件集并顯示它們之間的不同
【 網(wǎng)絡(luò)命令 】
ping 進(jìn)行網(wǎng)絡(luò)連接測(cè)試、名稱(chēng)解析
ftp 文件傳輸
net 網(wǎng)絡(luò)命令集及用戶(hù)管理
telnet 遠(yuǎn)程登陸
ipconfig顯示、修改TCP/IP設(shè)置
msg 給用戶(hù)發(fā)送消息
arp 顯示、修改局域網(wǎng)的IP地址-物理地址映射列表
【 系統(tǒng)管理 】
at 安排在特定日期和時(shí)間運(yùn)行命令和程序
shutdown立即或定時(shí)關(guān)機(jī)或重啟
tskill 結(jié)束進(jìn)程
taskkill結(jié)束進(jìn)程(比tskill高級(jí),但WinXPHome版中無(wú)該命令)
tasklist顯示進(jìn)程列表(Windows XP Home Edition中沒(méi)有)
sc 系統(tǒng)服務(wù)設(shè)置與控制
reg 注冊(cè)表控制臺(tái)工具
powercfg控制系統(tǒng)上的電源設(shè)置
對(duì)于以上列出的所有命令,在cmd中輸入命令+/?即可查看該命令的幫助信息。如find /?

【【 五、語(yǔ)句結(jié)構(gòu) 】】

類(lèi)似于C語(yǔ)言,批處理也有它的語(yǔ)句結(jié)構(gòu)。批處理的語(yǔ)句結(jié)構(gòu)主要有選擇結(jié)構(gòu)(if語(yǔ)句)、循環(huán)結(jié)構(gòu)(for語(yǔ)句)等。
【 if語(yǔ)句(選擇結(jié)構(gòu)) 】
if語(yǔ)句實(shí)現(xiàn)條件判斷,包括字符串比較、存在判斷、定義判斷等。通過(guò)條件判斷,if語(yǔ)句即可以實(shí)現(xiàn)選擇功能。
1、字符串比較
if語(yǔ)句僅能夠?qū)蓚€(gè)字符(串)是否相同、先后順序進(jìn)行判斷等。其命令格式為:
IF [not] string1 compare-op string2 command1 [else command2]
其中,比較操作符compare-op有以下幾類(lèi):
== - 等于
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
選擇開(kāi)關(guān)/i則不區(qū)分字符串大小寫(xiě);選擇not項(xiàng),則對(duì)判斷結(jié)果進(jìn)行邏輯非。
字符串比較示例:
===============================================
@echo off
set str1=abcd1233
set str2=ABCD1234
if %str1%==%str2% (echo 字符串相同!) else (echo 字符串不相同!)
if /i %str1% LSS %str2% (echo str1^=str2)
echo.
set /p choice=是否顯示當(dāng)前時(shí)間?(y/n)
if /i not %choice% EQU n echo 當(dāng)前時(shí)間是:te% %time%
pause>nul
===============================================
對(duì)于最后一個(gè)if判斷,當(dāng)我們輸入n或N時(shí)的效果是一樣的,都不會(huì)顯示時(shí)間。如果我們?nèi)∠_(kāi)關(guān)/i,則輸入N時(shí),依舊會(huì)顯示時(shí)間。
另外請(qǐng)注意一下幾個(gè)細(xì)節(jié):1-echo str1^=str2;2-echo.。


2、存在判斷
存在判斷的功能是判斷文件或文件夾是否存在。其命令格式為:
IF [NOT] EXIST filename command1 [else command2]
===============================================
@echo off
if exist %0 echo 文件%0是存在的!
if not exist %~df0 (
echo 文件夾%~df0不存在!
) else echo 文件夾%~df0存在!
pause>nul
===============================================
這里注意幾個(gè)地方:
1-存在判斷既可以判斷文件也可以判斷文件夾;
2-%0即代表該批處理的全稱(chēng)(包括驅(qū)動(dòng)器盤(pán)符、路徑、文件名和擴(kuò)展類(lèi)型);
3-%~df0是對(duì)%0的修正,只保留了其驅(qū)動(dòng)器盤(pán)符和路徑,詳情請(qǐng)參考for /?,屬高級(jí)批處理范疇;
4-注意if語(yǔ)句的多行書(shū)寫(xiě),多行書(shū)寫(xiě)要求command1的左括號(hào)必須和if在同一行、 else必須和command1的右括號(hào)同行、command2的左括號(hào)必須與else同行、command1和command2都可以有任意多行,即 command可以是命令集。

3、定義判斷
定義判斷的功能是判斷變量是否存在,即是否已被定義。其命令格式為:
IF [not] DEFINED variable command1 [else command2]
存在判斷舉例:
===============================================
@echo off
set var=111
if defined var (echo var=%var%) else echo var尚未定義!
set var=
if defined var (echo var=%var%) else echo var尚未定義!
pause>nul
===============================================
對(duì)比可知,"set var="可以取消變量,收回變量所占據(jù)的內(nèi)存空間。

【 for語(yǔ)句(循環(huán)結(jié)構(gòu)) 】
for語(yǔ)句可以實(shí)現(xiàn)類(lèi)似于C語(yǔ)言里面的循環(huán)結(jié)構(gòu),當(dāng)然for語(yǔ)句的功能要更強(qiáng)大一點(diǎn),通過(guò)不同的開(kāi)關(guān)可以實(shí)現(xiàn)更多的功能。for語(yǔ)句有多個(gè)開(kāi)關(guān),不同開(kāi)關(guān)將會(huì)實(shí)現(xiàn)不同的功能。
1、無(wú)開(kāi)關(guān)
無(wú)開(kāi)關(guān)的for語(yǔ)句能夠?qū)υO(shè)定的范圍內(nèi)進(jìn)行循環(huán),是最基本的for循環(huán)語(yǔ)句。其命令格式為:
FOR %%variable IN (set) DO command
其中,%%variable是批處理程序里面的書(shū)寫(xiě)格式,在DOS中書(shū)寫(xiě)為%variable,即只有一個(gè)百分號(hào)(%);set就是需要我們?cè)O(shè)定的循環(huán)范圍,類(lèi)似于C語(yǔ)言里面的循環(huán)變量;do后面的command就是循環(huán)所執(zhí)行的命令,即循環(huán)體。
無(wú)開(kāi)關(guān)for語(yǔ)句舉例:
===============================================
@echo off
for %%i in (a,"b c",d) do echo %%i
pause>nul
===============================================
2、開(kāi)關(guān)/L
含開(kāi)關(guān)/L的for語(yǔ)句,可以根據(jù)set里面的設(shè)置進(jìn)行循環(huán),從而實(shí)現(xiàn)對(duì)循環(huán)次數(shù)的直接控制。其命令格式為:
FOR /L %%variable IN (start,step,end) DO command
其中,start為開(kāi)始計(jì)數(shù)的初始值,step為每次遞增的值,end為結(jié)束值。當(dāng)end小于start時(shí),step需要設(shè)置為負(fù)數(shù)。
含開(kāi)關(guān)/L的for語(yǔ)句舉例(創(chuàng)建5個(gè)文件夾):
===============================================
@echo off
for /l %%i in (1,2,10) do md %%i
pause
===============================================
上例將新建5個(gè)文件夾,文件夾名稱(chēng)依次為1、3、5、7、9。可以發(fā)現(xiàn),%%i的結(jié)束值并非end的值10,而是不大于end的一個(gè)數(shù)。
3、開(kāi)關(guān)/F
含開(kāi)關(guān)/F的for語(yǔ)句具有最強(qiáng)大的功能,它能夠?qū)ψ址M(jìn)行操作,也能夠?qū)γ畹姆祷刂颠M(jìn)行操作,還可以訪問(wèn)硬盤(pán)上的ASCII碼文件,比如txt文檔等。其命令格式為:
FOR /F ["options"] %%variable IN (set) DO command
其中,set為("string"、'command'、file-set)中的一 個(gè);options是(eol=c、skip=n、delims=xxx、tokens=x,y,m-n、usebackq)中的一個(gè)或多個(gè)的組合。各選 項(xiàng)的意義參見(jiàn)for /f。一般情況下,使用較多的是skip、tokens、delims三個(gè)選項(xiàng)。
含開(kāi)關(guān)/F的for語(yǔ)句舉例:
===============================================
@echo off
echo **No Options:
for /f %%a in ("1,2,10") do echo a=%%a
echo **Options tokens ^& delims:
for /f "tokens=1-3 delims=," %%a in ("1,2,10") do echo a=%%a b=%%b c=%%c
pause
===============================================
@echo off
echo 本文件夾里面的文件有:
for /f "skip=5 tokens=3,4 delims= " %%a in ('dir') do (
if not "%%a"=="

)
pause
===============================================
@echo off
echo 本文件夾里面的文件有:
>c:/file.txt dir
for /f "skip=5 tokens=3,4 delims= " %%a in (c:/file.txt) do (
if not "%%a"=="

)
del c:/file.txt
pause
===============================================
對(duì)于后面的兩個(gè)例子,其中options里面的delims= 是可以刪除的,因?yàn)橹灰砑恿?F開(kāi)關(guān)系統(tǒng)就將delims的值默認(rèn)為空格。
同時(shí)我們也看到了,for語(yǔ)句的do后面的command也是可以分行的,只需要保證command的左括號(hào)和do在同一行就可以了。
4、開(kāi)關(guān)/D或/R
含開(kāi)關(guān)/D或/R的for語(yǔ)句是與目錄或文件有關(guān)的命令,一般情況下很少使用。含開(kāi)關(guān)/R的命令有時(shí)候被用于通過(guò)遍歷文件夾來(lái)查找某一個(gè)文件或文件夾,故而列舉此例。
含開(kāi)關(guān)/R的for語(yǔ)句舉例(文件夾遍歷):
===============================================
@echo off
setlocal enabledelayedexpansion
FOR /R d: %%i IN (.) DO (
set dd=%%i
set "dd=!dd:~0,-1!"
echo !dd!
)
pause
exit
===============================================
上例即可以羅列出D盤(pán)下的所有文件夾,其速度要比命令"tree d:"慢多了,不過(guò)其返回結(jié)果的實(shí)用性則遠(yuǎn)遠(yuǎn)超過(guò)了tree命令。
一般情況下我們不推薦通過(guò)遍歷文件夾來(lái)查找文件,特別是在查找某些程序(比如QQ.exe)的位置時(shí)。推薦通過(guò)reg命令查找注冊(cè)表來(lái)查找QQ的路徑,以保證查找效率。
上例中也出現(xiàn)了幾個(gè)新面孔,如setlocal、感嘆號(hào)等。其中,感嘆號(hào)其實(shí)就是變量百分號(hào) (%)的強(qiáng)化版。之所以要用!而不用%,是因?yàn)樵趂or循環(huán)中,當(dāng)一個(gè)變量被多次賦值時(shí),%所獲取的僅僅是dd第一次被賦予的值;要想刷新dd的 值,就必須首先通過(guò)命令"setlocal enabledelayedexpansion"來(lái)開(kāi)啟延遲變量開(kāi)關(guān),然后用!dd!來(lái)獲取dd的值。
for語(yǔ)句是批處理里面功能最強(qiáng)大、使用最普遍卻又最難掌握的一套命令,這也是批處理菜鳥(niǎo)和批處理高手最明顯的一個(gè)分水嶺,一旦掌握了這套命令,那么你就離批處理達(dá)人不遠(yuǎn)了!
@echo off
set var=111
if defined var (echo var=%var%) else echo var尚未定義!
set var=
if defined var (echo var=%var%) else echo var尚未定義!
pause>nul
===============================================
對(duì)比可知,"set var="可以取消變量,收回變量所占據(jù)的內(nèi)存空間。

轉(zhuǎn)載于:https://blog.51cto.com/tianma3798/1771148

總結(jié)

以上是生活随笔為你收集整理的Windows批处理符号简介、常用Dos命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。