使用 Robocopy 和参数传递的 PowerShell

  1. 使用 robocopy 命令在 PowerShell 中复制文件
  2. 结论
使用 Robocopy 和参数传递的 PowerShell

在 Windows PowerShell 的广阔景观中,掌握 robocopy 命令揭示了丰富的高效文件管理能力。作为 IT 专业人员、开发人员和系统管理员不可或缺的工具,Robocopy 在复制文件和目录方面提供了无与伦比的灵活性和效率。

其强大的功能集,加上 PowerShell 脚本的灵活性,使用户能够精准而轻松地执行复杂的文件传输操作。本教程将教您如何在 PowerShell 中使用 robocopy

使用 robocopy 命令在 PowerShell 中复制文件

Robocopy 是 Robust File Copy 的缩写,是一种原生于 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,分别用于抑制输出中作业头和作业摘要信息的显示。

输出:

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