探索Windows命令行系列(4):通過命令操作文件和文件夾


DOS 最核心的功能之一就是管理文件和目錄。文件就是一組有序符號的集合,而目錄則用於存放文件,主要是為了更好的管理文件。

在 DOS 中,文件命名規則是 8.3 格式,即每個文件的名字由文件基本名和文件擴展名組成,中間用一個點(.)隔開。文件基本名由 1~8 個字符組成,文件擴展名由 0~3 個字符組成;也就是說,基本名必須有,擴展名可以沒有,在沒有擴展名時分隔的點也隨之省去。文件名可以寫成大寫或小寫的形式,但調用時不區分大小寫,部分特殊字符不能用來命名。

為了簡化對多個文件做相同的操作,DOS 中引入了通配符——問號(?)和星號(*),又稱作集合文件名。問號表示任意一個合法字符,星號表示任意多個合法字符。

后來的 Windows 在文件名規則上繼承了 DOS,並在此基礎之上做了進一步的擴展。最明顯的變化就是文件基本名可以多於 8 個字符,而文件擴展名也可以多於 3 個字符,此外,DOS 中的“目錄”在 Windows 中叫做“文件夾”。

1、文件夾操作

主要文件夾操作命令一覽表

序號 命令 功能 備注
1 dir 顯示指定目錄中的文件和子目錄列表
2 tree 以樹形顯示指定路徑的目錄結構
3 cd/chdir 顯示當前目錄名或改變當前目錄
4 md/mkdir 創建目錄 不能創建已存在的目錄
5 rd/rmdir 刪除目錄

1.1、DIR(directory)命令

顯示當前目錄中的文件和子目錄列表:

dir

顯示 D 盤中的文件和子目錄列表:

dir d:

顯示當前目錄下的 d 目錄中的文件和子目錄列表:

dir d

顯示當前目錄中所有文本文件列表:

dir *.txt

顯示當前目錄中所有文本文件的文件名列表:

dir /b *.txt

分屏顯示,在每個信息屏幕后暫停:

dir /p

用寬列表格式顯示簡易目錄信息列表:

dir /w

顯示列表的排序命令和規則:

dir /og 按名稱(組目錄)遞增排序,直接寫 dir 就是這種效果
dir /on 按名稱(字母順序)遞增排序,直接寫 dir /o 就是這種效果
dir /od 按日期(從先到后)遞增排序
dir /oe 按擴展名(字母順序)遞增排序

上述 4 種排序中,比較常用的是第 1 種和第 3 種,這兩種排序分別對應 Windows 中的按名稱和按日期排序。第 2 種排序與第 1 種排序稍有不同,特殊符號會排到數字和字母前面,與 Windows 規則不同,因此不建議使用。

1.2、TREE 命令

以樹形顯示當前目錄中的所有子目錄:

tree

以樹形顯示當前目錄中的所有文件和子目錄:

tree /f

以樹形顯示 D 盤中所有子目錄:

tree d:

以樹形顯示當前目錄下的“測試”目錄中的所有子目錄:

tree 測試

1.3、CD(change directory)命令

顯示當前磁盤和目錄名:

cd

顯示指定磁盤中的當前目錄名:

cd c:

將當前目錄改變為(當前目錄下的)a 目錄:

cd a

將當前目錄改變為 d:\Workspace\Oracle:

cd d:\Workspace\Oracle

將當前目錄改變為 d:\Workspace\Oracle,同時將磁盤改變為 D 盤:

cd /d d:\Workspace\Oracle

將當前目錄改為上一級目錄:

cd ..

Windows 目錄標識符一覽表:

符號 中文名 含義
. 一個點 代表當前目錄
.. 兩個點 代表上一級目錄
|反斜線 代表當前磁盤的根目錄

1.4、MD(make directory)命令

在當前目錄創建“測試”目錄:

md 測試

在當前目錄創建 c 目錄,如果中級目錄 a 和 b 不存在,也會被創建:

md a\b\c

會創建一個和當前目錄平級的 a 目錄,並在 a 中創建 b 和 c:

md \a\b\c

在當前目錄創建 .NET 目錄(注意:該操作是無法通過鼠標右鍵完成的):

md .NET

1.5、RD(remove directory)命令

刪除當前目錄中的“測試”目錄:

rd 測試

注意,上述命令執行成功還得滿足如下 4 個前提條件:

  • 1、要刪除的目錄里不能再有子目錄。
  • 2、要刪除的目錄內不能有任何文件。
  • 3、不能刪除當前目錄。
  • 4、根目錄不能被刪除。

上述 4 句話也可以用一句話來總結——必須是空目錄、非當前目錄、非根目錄才能刪除。

刪除目錄樹。除目錄本身外,還將刪除指定目錄下的所有子目錄和文件:

rd a /s

安靜模式,無需確認直接刪除:

rd a /s /q

2、文件操作

主要文件操作命令一覽表:

序號 命令 功能 備注
1 type 顯示文本文件的內容
2 more 逐屏顯示輸出
3 ren 重命名文件
4 attrib 顯示或更改文件屬性
5 copy 將一個或多個文件復制到另一個位置
6 xcopy 復制文件和目錄樹
7 del/erase 刪除一個或多個文件
8 find 在文件中搜索字符串 支持 Unicode 格式
9 findstr 在文件中搜索字符串 支持正則表達式

2.1、TYPE 命令

在命令行窗口中顯示 1.txt 文件的內容:

type 1.txt

在命令行窗口中分屏顯示 1.txt 文件的內容:

type 1.txt|more

2.2、MORE 命令

在命令行窗口中逐屏顯示輸出 1.txt 中的內容:

more < 1.txt

注意:more 后面是小於號,而不是大於號,筆者就曾不小心把小於號寫成大於號,結果收集整理多天的資料瞬間就沒了,立馬 Ctrl+Z 都無法恢復了。

先清除屏幕,再在命令行窗口中逐屏顯示輸出 1.txt 中的內容:

more < 1.txt /c

2.3、REN(rename)命令

將 1.txt 的文件名改成 2.txt:

ren 1.txt 2.txt

2.4、ATTRIB(attribute)命令

顯示當前目錄及其子目錄中名為 1.txt 的文件列表:

attrib 1.txt /s

為 1.txt 文件添加只讀屬性:

attrib +r 1.txt

去除 1.txt 文件中的只讀屬性:

attrib -r 1.txt

為 1.txt 文件添加隱藏屬性:

attrib +h 1.txt

2.5、COPY 命令

創建 1.txt 文件的副本 2.txt:

copy 1.txt 2.txt

合並 1.txt 和 2.txt 的內容,保存為 3.txt:

copy 1.txt + 2.txt 3.txt

復制文件到自己,實際上是修改了文件日期:

copy 1.txt +

將當前目錄中所有名稱以 a 開頭的文本文件中的內容合並到 all.txt 文件中去。

copy a*.txt all.txt

2.6、XCOPY 命令

將 D 盤 a 目錄中所有文件及目錄復制到 E 盤的 1 目錄中:

xcopy d:\a e:\1 /s /e /y

2.7、DEL(delete)命令

刪除當前目錄下的 1.txt 文件(還可以帶路徑,譬如當前目錄為 D:\Workspace,則可以寫成del D:\Workspace\1.txt):

del 1.txt

刪除當前目錄下的所有文本文件(還可以指定目錄,譬如D:\Workspace\*.txt則是指刪除 D:\Workspace 目錄下的所有文本文件):

del *.txt

刪除當前目錄下所有文本文件,且會在刪除每一個文件之前提示確認:

del /p *.txt

強制刪除當前目錄下的所有文本文件,包括只讀文件(如果僅刪除只讀文件則用del /a:r *.txt):

del /f *.txt

刪除當前目錄及其子目錄下的所有文本文件(不會刪除目錄):

del /s *.txt

刪除當前目錄及其子目錄下的所有隱藏的文本文件:

del /a:h *.txt

刪除 D 盤 Workspace 目錄下的所有文件:

del D:\Workspace /q

2.8、FIND 命令

查找 test.txt 文件中包含字符串"顯示"的所有行,參數 /n 表示顯示行號:

find /n "顯示" test.txt

統計 test.txt 文件中包含字符串"顯示"的總行數:

find /c "顯示" test.txt

在 D:\Workspace 目錄中檢索文件名包含 cmd 的文件:

dir D:\Workspace /s /b | find "cmd"

檢索當前目錄中的擴展名為 .bat 並包含字符串“echo off”的文件(不會檢索當前目錄的子目錄):

for %f in (*.bat) do find "echo off" %f

2.9、FINDSTR 命令

在 test.txt 文件中檢索包含“顯示”的行:

findstr "顯示" test.txt

在 test.txt 文件中檢索包含 f 或 d 的行(不支持檢索中文):

findstr "f d" test.txt

在當前目錄及其所有子目錄的文本文件中查找包含“cmd”的內容:

findstr /s /i "cmd" *.txt

在 D:\Workspace 目錄及其所有子目錄的文本文件中查找包含“cmd”的內容:

findstr /s /i "cmd" D:\Workspace\*.txt

3、總結

本文主要講述了如果通過 Windows 命令來操作文件和文件夾,並提供了常見命令的主要功能的相關示例。

本文鏈接http://www.cnblogs.com/hanzongze/p/cmd-files.html
版權聲明:本文為博客園博主 韓宗澤 原創,作者保留署名權!歡迎通過轉載、演繹或其它傳播方式來使用本文,但必須在明顯位置給出作者署名和本文鏈接!個人博客,能力有限,若有不當之處,敬請批評指正,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM