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