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

来源:http://www.cnblogs.com/hanzongze/archive/2017/06/29/cmd-files.html
-Advertisement-
Play Games

" 1、文件夾操作 " "1.1、DIR(directory)命令" "1.2、TREE 命令" "1.3、CD(change directory)命令" "1.4、MD(make directory)命令" "1.5、RD(remove directory)命令" " 2、文件操作 " "2.1、 ...


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:

顯示當前目錄下的“測試”目錄中的文件和子目錄列表:

dir 測試

顯示當前目錄中所有記事本的列表:

dir *.txt

分屏顯示,在每個信息屏幕後暫停:
dir /p

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

1.2、TREE 命令

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

tree

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

tree /f

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

tree d:

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

tree 測試

1.3、CD(change directory)命令

顯示當前磁碟和目錄名:

cd

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

cd c:

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

cd a

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

cd d:\Workspace\Blogs\Oracle

將當前目錄改變為 e:\軟體,同時將磁碟改變為 E 盤:

cd /d e:\軟體

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

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 文件:

del 1.txt

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

del /p *.txt

刪除 E 盤 1 目錄下的所有文件:

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、簡介 2、read 3、運算工具 4、if/then結構 5、while迴圈 6、for迴圈 一、簡介 1、什麼是shell shell是用戶與系統交互作用的界面。shell是一種命令解釋程式,同時也是一種高級程式設計語言 2、shell常見種類 Bourne Shell(/usr/bin/sh ...
  • 1、輸入輸出,重定向,管道 2、<(cmd);>(cmd) 3、>;<;>>;<<;>>>;<<< 4、文本處理_1:cat;head;tail;cut;wc;sort;uniq;tr;tac;rev 一、輸入輸出,重定向,管道 1、Linux 程式有三個標準的輸入輸出,分別是: 標準輸入,用數字0 ...
  • 因為一些莫名其妙的原因重寫了三遍,燒壞了兩塊STC,十分心累 ...
  • " 1、關機命令(shutdown) " " 2、管理 Windows 服務(sc) " " 3、管理任務進程(tasklist、taskkill) " " 4、顯示 TCP/IP 配置值(ipconfig) " " 5、網路診斷工具(ping) " " 6、路由跟蹤工具(tracert) " " ...
  • KGTP 介紹 KGTP 是一個能在產品系統上實時分析 Linux 內核和應用程式(包括 Android)問題的全面動態跟蹤器。 使用 KGTP 不需要 在 Linux 內核上打 PATCH 或者重新編譯,只要編譯 KGTP 模塊並insmod 就可以。 其讓 Linux 內核提供一個遠程 GDB ...
  • 翻譯了grub2官方手冊的絕大部分內容,然後自己整理了一下。因為內容有點雜,所以章節安排上可能不是太合理,敬請諒解。 本文目錄: 1.1 基礎內容 1.2 安裝grub2 1.3 grub2配置文件 1.4 命令行和菜單項中的命令 1.5 幾個常見的內置變數 1.6 grub配置和安裝示例 1.7 ...
  • 終於可以愉快的用谷歌了,容我哭一會,下麵會闡述下樓主的心塞歷程。 linux系統裡面不能翻牆,簡直就是受罪。 準備工作: 1 一個virtualbox管理器,這個是免費,挺適合新手用,還有一個是VMware,功能更加強大,不過是收費軟體 。這兩個選一個都行。 2 安裝好Ubuntu16.04,下載包 ...
  • #聲明腳本 #!/bin/bash #列印" cfb "echo " cfb " #java環境變數JAVA_HOME=/usr/java/jdk1.8.0_11CLASSPATH=$JAVA_HOME/bin #指定需要執行jar包的位置,可自行設置 JARPATH=/home/haha/Desk ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...