• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

PowerShell 檔案與資料夾操作教學:建立、複製、搬移、刪除

使用 PowerShell 指令稿建立、複製、搬移與刪除檔案或目錄的方法,並提供各種常用的範例。


檔案的操作與管理是使用者或管理者都時常會遇到的工作,當要處理的檔案數量很多的時候,如果能善用 PowerShell 的指令稿,自動化處理重複繁瑣的工作,可以節省我們很多的力氣與時間,以下是在 PowerShell 中常見的一些檔案與資料夾操作方法。

檢查檔案或目錄是否存在

如果想要檢查指定位置的檔案或目錄是否存在,可以使用 Test-Path 這個指令:

# 檢查檔案是否存在
Test-Path -Path C:\OfficeGuide\MyFile.txt
True

若指定的檔案或目錄存在,則 Test-Path 會傳回 True,若不存在的話,則會傳回 False,所以通常我們會搭配 if 判斷式一起使用:

# 使用 if 判斷式
if (Test-Path -Path C:\OfficeGuide\MyFile.txt) {
  "檔案存在。"
} else {
  "檔案不存在。"
}
檔案存在。

檢查目錄是否存在的方式跟檔案的做法相同:

# 檢查目錄是否存在
if (Test-Path -Path C:\OfficeGuide) {
  "目錄存在。"
} else {
  "目錄不存在。"
}
目錄存在。

檢查路徑是檔案還是目錄

Test-Path 可以判斷檔案或目錄是否存在,如果要分別一個路徑是檔案還是目錄,可以使用 Get-Item 取得該路徑的資訊,然後依據該資訊檢查是否為目錄:

# 判斷路徑是否是目錄
if ((Get-Item C:\OfficeGuide) -is [System.IO.DirectoryInfo]) {
  "此路徑是目錄。"
} else {
  "此路徑不是目錄。"
}

建立檔案或目錄

若要建立一個新的目錄,可以使用 New-Item 指令:

# 建立新目錄
New-Item C:\MyFolder -ItemType "directory"

若要建立一個新的空白檔案,也是用類似的作法:

# 建立新檔案
New-Item C:\MyFolder\MyFile.txt -ItemType "file"

複製檔案或目錄

若要複製檔案,可以使用 Copy-Item 指令:

# 複製檔案
Copy-Item C:\MyFile.txt -Destination C:\MyFile2.txt

若要將檔案複製到指定的目錄下(檔案名稱維持不變),則 -Destination 就指定為目的目錄的路徑即可:

# 複製檔案至指定目錄
Copy-Item C:\MyFile.txt -Destination D:\MyFolder

如果要複製整個目錄(連同裡面的所有檔案),則要加上 -Recurse 參數:

# 複製目錄
Copy-Item C:\OfficeGuide -Destination C:\OfficeGuide2 -Recurse

若要複製的目的檔案已經存在,而且是一個唯讀檔案的話,在複製檔案時就會失敗,若要強制複製檔案,可以加上 -Force 參數:

# 強制複製檔案
Copy-Item C:\MyFile.txt -Destination C:\MyFile2.txt -Force

搬移檔案或目錄

若要搬移檔案,可以使用 Move-Item 指令:

# 搬移檔案
Move-Item C:\MyFile.txt -Destination D:\MyFile2.txt

若要搬移檔案至指定目錄(檔案名稱維持不變),則 -Destination 就指定為目的目錄的路徑即可:

# 搬移檔案至指定目錄
Move-Item C:\MyFile.txt -Destination D:\MyFolder

搬移目錄的作法也相同:

# 搬移目錄
Move-Item C:\MyFolder -Destination D:\

刪除檔案或目錄

若要移除檔案,則可使用 Remove-Item 指令:

# 移除檔案
Remove-Item C:\MyFolder\MyFile.txt

移除目錄的作法也相同:

# 移除目錄
Remove-Item C:\MyFolder

若要移除的目錄中還有其他的檔案,則在移除的時候 PowerShell 會詢問使用者是否要全部移除,如果不想讓它詢問,可以加上 -Recurse 參數,這樣它就會自動把所有裡面的資料一次刪除:

# 移除目錄(不詢問、直接移除)
Remove-Item C:\MyFolder -Recurse

參考資料:iT邦幫忙、iT邦幫忙、iT邦幫忙

分類:PowerShell

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide