当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell xcopy | PowerShell PowerShell xcopy 完整指南

作者:精品下载站 日期:2024-12-14 04:48:56 浏览:13 分类:玩电脑

PowerShell xcopy | PowerShell PowerShell xcopy 完整指南


[玩转系统] PowerShell xcopy | PowerShell PowerShell xcopy 完整指南

PowerShell xcopy 简介

以下文章提供了 PowerShell xcopy 的概述。 xcopy 命令(顾名思义)将文件从源位置复制到目标位置,包括文件、文件夹,并且递归地复制文件,它与简单的复制命令有很大不同,因为它支持多个开关,包括复制目录结构不同的属性,如只读、隐藏、系统文件,还提供服务器离线后再次恢复工作的弹性。

语法:

xcopy 是一个简单的命令,用于复制具有不同属性的文件和文件夹。

该命令可以与单个或多个属性一起使用,其语法如下所示:

Xcopy <Source> [<Destination>] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]] [{/y | /-y}] [/z] [/b] [/j]

xcopy 命令如何在 PowerShell 中工作?

xcopy 是 Windows 命令。它也适用于 PowerShell 和 cmd,因为它是一个 system32 实用程序命令。复制文件和文件夹时,您可以根据需要提供各种开关,将数据从源复制到目标位置,此命令的工作方式类似于具有高级开关的 Copy-Item、Copy、Robocopy 等。

当我们在批处理文件中使用 xcopy 命令并处理复制错误时,xcopy 命令使用 ErrorLevel 参数。

以下是错误级别的退出代码:

Exit Code

描述

0

文件复制成功,没有任何错误。

1

没有找到要复制的文件。

2

用户通过按 Ctrl + C 终止操作。

3

由于语法无效、源或目标路径错误、磁盘或内存错误而发生错误。

4

发生磁盘写入错误。

PowerShell xcopy 的示例

下面给出了 PowerShell xcopy 的示例:

例子#1

使用 xcopy 命令复制文件。

以下命令将文件复制到目的地。在此示例中,文件从 C:\DSC 文件夹复制到 E:\Temp。这是一个简单的命令,它只复制父文件,而不复制子目录及其文件。

代码:

xcopy C:\DSC\* E:\temp

如果目标文件夹不存在,此命令会询问是否可以创建目标文件夹,如果按 D,则会创建目标文件夹并复制文件。

输出:

[玩转系统] PowerShell xcopy | PowerShell PowerShell xcopy 完整指南

例子#2

xcopy 用于复制子文件夹。

不带开关的 xcopy 命令不会复制子文件夹和子文件夹文件。要包含子文件夹及其内容(空目录除外),请使用 /s 开关。

代码:

xcopy C:\DSC\* E:\temp /s

输出:

[玩转系统] PowerShell xcopy | PowerShell PowerShell xcopy 完整指南

上述命令不包含空目录。要包含空目录,请使用 /e 开关。

代码:

xcopy C:\DSC\* E:\temp /s /e

例子#3

复制隐藏的文件和文件夹。

以下命令将复制隐藏文件和文件夹,包括子文件夹内容和空文件夹。

代码:

xcopy C:\DSC\* E:\temp /s /h /e

例子#4

其他 xcopy 开关。

一个。 /w: 此开关会提示用户同意在开始复制文件之前继续,如下所示。

代码:

xcopy C:\DSC\* E:/temp /s /w

输出:

[玩转系统] PowerShell xcopy | PowerShell PowerShell xcopy 完整指南

b. /f: 要在复制时查看源文件和目标文件位置,请使用 /f 开关。

代码:

xcopy C:\DSC\* E:\temp /s /f

输出:

[玩转系统] PowerShell xcopy | PowerShell PowerShell xcopy 完整指南

上述命令将文件从源复制到目标(包括子文件夹),并显示单个项目的源和目标位置。

c. /l: 当您指定此开关时,它会显示要复制到目标文件夹的项目列表,但不复制它们。

代码:

xcopy C:\DSC\* E:\temp /s /l

输出:

[玩转系统] PowerShell xcopy | PowerShell PowerShell xcopy 完整指南

d. /d [:MM-DD-YYYY]: 复制在指定的特定日期或之后更新的较新文件。如果您不提供日期,它会复制所有更新的文件。

代码:

xcopy C:\DSC\* E:\Temp\ /s /d /f

上述命令将所有已更改或更新的文件从源复制到目标,并显示源和目标位置。

输出:

[玩转系统] PowerShell xcopy | PowerShell PowerShell xcopy 完整指南

如果您注意到,它会要求用户确认才能继续。要抑制该警报,您可以使用 /y 开关。

代码:

xcopy C:\DSC\* E:\Temp\ /s /d /y /f

相反,/-y 开关用于用户提示。

/d 开关不仅复制更新的文件,而且还将较新的文件与其一起复制到目标。下面的命令复制了 2020 年 12 月 31 日之后更新的文件。

代码:

xcopy C:\DSC\* E:\Temp\ /s /d:12-31-2020 /y

e. /h: 复制默认情况下不包含在 xcopy 命令中的隐藏文件和系统文件。

代码:

xcopy C:\DSC E:\Temp\ /s /h /y /f

上述命令将文件以及子文件夹、系统文件和隐藏文件从源复制到目标,无需用户确认。

同样,/r 开关复制只读文件。以下命令将复制隐藏文件和只读文件。

代码:

xcopy C:\DSC E:\Temp\ /s /h /r /y /f

f. /z: 以可重新启动模式通过网络复制文件。这意味着,如果远程服务器离线,此交换机会跟踪复制的文件,并在服务器上线时恢复操作。它还显示较大文件复制量的百分比。

代码:

xcopy C:\DSC \ad\shared\temp /s /z

g. /排除: 要排除特定项目,我们需要在文本文件中创建一个包含要排除的项目名称的列表。

在下面的示例中,文件 excepteditems.txt 包含要排除的项目列表。

我们可以使用下面的命令将项目复制到带有子文件夹的目的地。

代码:

xcopy C:\DSC E:\Temp\ /s /exclude:C:\excludeditems.txt

结论

Copy、xcopy、RoboCopy、Copy-Item 等各种命令可用于将文件和文件夹从源复制到目标,但 xcopy 和 Robocopy 提供更多功能,并且可以从批处理文件以及 PowerShell 脚本中运行如上所述,对开关的强大支持使其更易于使用并且易于从致命恢复中恢复。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯