使用 Robocopy 和參數傳遞的 PowerShell

  1. 使用 robocopy 命令在 PowerShell 中複製文件
  2. 結論
使用 Robocopy 和參數傳遞的 PowerShell

在 Windows PowerShell 的廣闊領域中,掌握 robocopy 命令揭開了熟練文件管理的豐富功能。作為 IT 專業人員、開發者和系統管理員的必備工具,Robocopy 在複製文件和目錄方面提供了無與倫比的靈活性和效率。

其強大的功能組合以及 PowerShell 腳本的靈活性,使得用戶能夠精確而輕鬆地執行複雜的文件傳輸操作。本教程將教您如何在 PowerShell 中使用 robocopy

使用 robocopy 命令在 PowerShell 中複製文件

Robocopy,意為「穩健文件複製」,是一種本地於 Windows 操作系統的命令行工具,以其在複製文件和目錄方面的效率和多功能性而聞名。由微軟開發的 Robocopy 提供了超越傳統文件複製方法的廣泛功能,使其成為系統管理員、IT 專業人士和高級用戶的首選。

robocopy 命令的一般語法是:

robocopy <Source> <Destination> [<File(s)>] [<Options>]
  • <Source>:指定源目錄的路徑。
  • <Destination>:指定目的地目錄的路徑。
  • [<File(s)>](可選):指定一個或多個要複製的文件。
  • [<Options>](可選):指定複製操作的各種選項和參數。

以下是一個簡單的 robocopy 命令示例。

robocopy "C:\SourceFolder" "D:\DestinationFolder" example.txt /njh /njs

在這段代碼中,我們使用 robocopy 命令,後接源路徑和目的地路徑。我們還指定了要複製的文件和兩個選項,/njh/njs,它們分別 suppress 輸出中的作業標頭和作業摘要信息。

輸出:

powershell robocopy - 輸出 1

有關 robocopy 選項的更多信息,請閱讀這篇文章

讓我們來看看另一個 robocopy 命令示例。以下變量存儲 robocopy 參數的值。

$source = "C:\SourceFolder"
$destination = "C:\DestinationFolder"
$robocopyOptions = "/njh"
$file = "example.txt"

robocopy $source $destination $file $robocopyOptions

在提供的代碼片段中,我們利用變量來存儲源路徑和目的地路徑,以及所需的 Robocopy 選項和要複製的文件。通過將這些變量傳遞給 robocopy 命令,我們啟動複製過程,允許將指定文件有效地從源目錄傳輸到目的地目錄。

輸出:

powershell robocopy - 輸出 2

當您將多個選項存儲在 $robocopyOptions 變量時,上述命令將無法正常工作。

$robocopyOptions = "/njh /njs"

您必須像這樣將命令中的字符串拆分。

$source = "C:\SourceFolder"
$destination = "C:\DestinationFolder"
$robocopyOptions = "/njh /njs"
$file = "example.txt"

robocopy $source $destination $file $robocopyOptions.split(' ')

在提供的代碼片段中,我們利用變量來存儲源路徑和目的地路徑,並帶有所需的 Robocopy 選項。通過使用 .split(' ') 方法將 $robocopyOptions 字符串拆分為數組,我們確保每個選項都被視為單獨的元素。

然後這個數組作為參數傳遞給 robocopy 命令,從而能夠執行帶有指定參數的複製操作。

輸出:

powershell robocopy - 輸出 3

結論

深入了解 PowerShell 中的 robocopy 命令的細節,為優化文件管理工作流解鎖了無限可能性。通過掌握其語法、探索各種參數和利用變量的力量,用戶可以簡化文件傳輸操作,以滿足不同場景的需求。

無論是跨網絡共享複製文件、在服務器之間同步目錄還是備份關鍵數據,Robocopy 都作為一位可靠的盟友,促進了 Windows 環境中無縫高效的文件管理。當您開始使用 PowerShell Robocopy 時,請擁抱它的能力,以提升您的文件管理實踐,達到更高的效率和生產力。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website