windows命令行與批處理基礎(chǔ)

這篇是筆記,并不是up視頻的單純板書。
一、命令行
1)cmd和powershell
小寄巧:
0.命令不區(qū)分大小寫
1.按上下鍵可快速輸入歷史命令
2.Tab鍵電腦自動猜測補(bǔ)全
3.在一個命令后加上 /? 電腦將解釋該命令的詳細(xì)展開用法(中括號代指選填參數(shù),可不填),下文命令擴(kuò)展用法可用此法學(xué)習(xí)。
4.顯示中文漢字需要更改為gbk編碼即可
5.rem代表注釋
2)cmd基本命令
1.echo 顯示:echo hello,world ?。?!
2.pause 時停 (可用于在批處理最后加上,讓窗口不至于快速消失)
3.cls 清屏
4.type 顯示文件內(nèi)容
5.find 查找并輸出字符串所在行內(nèi)容
6.fc 尋找并輸出兩文件不同之處所在的上下三行內(nèi)容
7.time/date 顯示當(dāng)前時間或修改時間(課代表個人補(bǔ)充:管理員權(quán)限執(zhí)行,可快速修改右下角系統(tǒng)時間)
8.ping 測試本機(jī)與某某鏈接是否暢通
9.ipconfig 本地網(wǎng)絡(luò)配置信息(課代表個人補(bǔ)充:家庭環(huán)境中,查看默認(rèn)網(wǎng)關(guān)和ipv4,即可知道本機(jī)所連的上一級的路由器地址和本機(jī)在局域網(wǎng)中的位置)
10.set /a 算術(shù)運(yùn)算
11.shutdown 關(guān)機(jī),可自定義各種關(guān)機(jī)的方式
3)特殊符號
3.1多命令
- & 順序執(zhí)行,忽略錯誤。
- && 順序執(zhí)行,執(zhí)行錯誤命令后語句結(jié)束。
- || 順序執(zhí)行,執(zhí)行正確命令后語句結(jié)束。
3.2重定向
- > 將結(jié)果覆蓋進(jìn)某文件中
- >> 將結(jié)果追加進(jìn)某文件中
- < 將文件內(nèi)容輸入給命令
3.3管道
- | 前命令的輸出作為后命令的輸入,可連續(xù)使用
4)文件操作
- dir 顯示當(dāng)前所處文件夾下的內(nèi)容
- tree 顯示文件夾樹形結(jié)構(gòu),如何顯示需自行選擇
- 盤符: 跳轉(zhuǎn)進(jìn)指定磁盤
- cd 切換目錄
- mkdir/md 創(chuàng)建目錄 (課代表補(bǔ)充:可以創(chuàng)建一長串原先不存在的父子文件夾,所以叫創(chuàng)建目錄)
- rmdir/rd 刪除目錄
- del 刪除文件
- rename/ren 重命名
- cpoy 復(fù)制文件
- move 移動文件
二、批處理
1)小提示
1.多命令在一個文件中執(zhí)行 后綴.bat
2.@echo off 運(yùn)行時不顯示命令行本身(在批處理的最后搭配上pause > nul 即可做到保留窗口的同時消除“請按任意鍵繼續(xù)...”的提示)
3.雙擊或者cmd中運(yùn)行
2)變量
1.set abc=123 定義變量
2.set /a abc=1+2*2 表達(dá)式定義變量
3.set /p abc=請輸入xx 讓用戶輸入定義變量值
4.echo %abc% 輸出變量值
5.set abc 打印變量
6.set 列出本機(jī)當(dāng)前所有定義變量
7.set abc= 刪除該變量
3)預(yù)定義變量
1.%cd% 顯示當(dāng)前所在目錄
2.%date%/%time% 顯示當(dāng)前日期/時間
3.%random% 生成0-32767之間的隨機(jī)數(shù)
4.%path% 環(huán)境變量
5.%errorlevel% 返回上個命令的返回值,成功通常為0
6.%1 %2 ...(我個人理解:執(zhí)行批處理前的預(yù)先輸入?yún)?shù),%0指的是批處理文件本身的路徑名。)
4)調(diào)用
call 可執(zhí)行文件(exe和bat均可)
5)if條件
1.可單行完成,我個人記法,多行時,記住 讓左括號的右邊是段落結(jié)束,右括號的左邊是段落開始。
2.if語句只有四個功能
2.1 比較上個指令的返回值 errorlevel 數(shù)值 返回值大于等于填寫數(shù)值 則為true
2.2 比較兩個字符串 字符串1==字符串2 相同則為true
2.3 查看文件是否存在 exist 文件名 存在則為true
2.4 比大小 [/i] 變量1 比較命令 變量2
等于 equ
不等于 neq
小于 lss
小于等于 leq
大于 gtr
大于等于 geq
6)跳轉(zhuǎn)
goto line1
:line1 代碼
7)for循環(huán)
for %%i in(set) do()
1.這個i只能是單個字母
2.支持通配符比如 in(*.*) 則遍歷當(dāng)前文件夾內(nèi)的文件名
3.只遍歷文件夾 for后跟/d
4.遍歷全部文件 后跟/r [目錄]
5.目錄樹 后跟/r [目錄] in(.)
6.遍歷數(shù)字序列 for /l %%i in (start,step,end) do
7.遍歷文件內(nèi)容 for /f %%i in(文件) i指每一行
結(jié)束: 小試身手
1)將所有文件分別命名為從1到100?
2)批處理中for循環(huán)的自增減問題
解釋原因:在for中,%n%是被整個替換成一個固定量來看待的,不會更新,故即使n的值確實(shí)在增加,但是%n%在for運(yùn)行結(jié)束前始終是不變的狀態(tài)。
解決方法:增加一行
setlocal enabledelayedexpansion
啟動變量延遲,并將%n% 替換成 !n! ,告知解釋器這個變量是會隨時變化的,操作它前要看看它有沒有變化!
斷斷續(xù)續(xù)看了兩天,最后感謝up主,讓我對cmd命令有了更清楚的認(rèn)識。