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

[玩转系统] PowerShell 复制项目 |实现PowerShell复制项的图示

作者:精品下载站 日期:2024-12-14 04:57:07 浏览:16 分类:玩电脑

PowerShell 复制项目 |实现PowerShell复制项的图示


[玩转系统] PowerShell 复制项目 |实现PowerShell复制项的图示

PowerShell 复制项简介

你从另一个目录复制了一个文件,并将一个目录复制到了另一个目录,但是你有没有想象过在复制之前或复制时你可以执行多少事情。你有没有意识到内部正在发生什么?让我详细向您解释一下,实际上,通过更改任何文件的位置,我们正在更改该文件的内存引用。现在,PowerShell 可以复制任何项目并仅通过将其放置在其他位置来更改内存引用。PowerShell Copy-Item 命令复制文件(媒体、文本、pdf 等),它会更改位置,但命名空间将相同。请记住,PowerShell Copy-Item 命令不会删除或剪切项目。通过重命名放置在目标位置的文件,可以将文件从一个位置复制到另一个位置。复制命令 非常适合传输任何递归(文件系统内的多个文件)文件系统

我们将学习如何使用它以及使用 PowerShell 的 Copy-Item 命令可以做什么。

句法

PowerShell Copy-Item 的一个非常简单的语法是

Copy-Item {path,-PassThru}-optional “sourcePath/sourceFile” -destination “destinationPath/” {force,include,exclude...}-optional

下面的语法涵盖了常规使用的东西,

Copy-Item
[-Path(source folder location)] <array of string>-optional
[[-Destination(destination location)] <String>]
[-Force]-optional
[-Filter <String(filter contents for copy)>]-optional
[-Include <array of string>](specify contents need to be included like *pdf)-optional
[-Exclude <array of string>](specify contents need to be excluded like *txt)-optional
[-Recurse](this commands allow to copy folder containing another folder folder)-optional
[-PassThru](it will return an object of item on which it is working , by default it will return nothing)-optional
[-WhatIf](It shows what can happen if command run)-optional
[-Confirm](before  copying any file ask for confirmation)-optional
[<CommonParameters>]

参数

1.确认:在运行命令之前它会询问您是否确认。在运行副本命令之前花一些时间思考是很好的。

2.容器:这是一个布尔值命令,在复制文件时保留容器。默认情况下,此设置为 true。

3.目的地:它的名称揭示了它的用途,它直接命令要粘贴文件的路径。我们还可以通过重命名文件将文件从源复制到目标。

4.排除:当我们想要将文件夹从一个位置复制到另一个位置并跳过某些文件(例如 *pdf)时,使用此命令,这里我们使用通配符,这意味着复制全部并跳过 pdf 文件。

5.过滤器:这里我们可以指定传递复制命令的过滤器参数。

6.强制:在这里它将授予复制那些不允许复制的项目的权限,我们举个例子,如果有任何具有只读权限的文件,并且我们想要复制该文件,那么我们可以使用此命令。或者再举一个例子,如果一个文件已经存在并且我们想用新文件强制替换它。

7.包含:包含执行与-排除类似的任务,唯一的区别是这里可以定义复制文件或媒体系统时要包含的文件的通配符。

8. LiteralPath:此命令能够以数组格式将文件复制到一个或位置,我们可以用字符串格式的数组来定义它们。

9. PassThru:它将始终返回正在使用复制命令的项目的对象。请记住,默认情况下它不会返回任何值。

10.路径:这是我们选择要复制的项目到另一个位置的路径,

11.递归:这里它复制其中包含文件夹的文件夹,就像我们复制一个名为 /Ranjan 的文件夹一样,它包含另外三个文件夹 /job、/education 和 /locations,所有这些文件夹中都包含更多文件夹。因此,复制这些我们使用 Recurse 命令。

12. WhatIf:这仅显示命令运行时可能发生的情况,或者简单来说,它描述了命令结果。

实施 PowerShell 复制项目的示例

下面给出了实现 PowerShell copy-item 的示例:

例子#1

让我们举一个非常简单的第一个例子,我们只是将一个文件从一个位置复制到另一个位置。

Copy-Item ./source/ranjan.txt  -destination ./destination

给出了上述示例从文件创建到复制的屏幕

[玩转系统] PowerShell 复制项目 |实现PowerShell复制项的图示

例子#2

让我们进行一些递归复制,在此,我们将复制目录文件,该目录还包含一个包含文件的子目录。

Copy-Item ./source/* -Destination ./destination/ -Recurse

[玩转系统] PowerShell 复制项目 |实现PowerShell复制项的图示

[玩转系统] PowerShell 复制项目 |实现PowerShell复制项的图示

在上面的示例中,我们创建了两个文件夹,一个名为“源”,另一个名为“目标”。我们在源代码中创建了一个文件 ranjan.txt,还在源文件夹中创建了一个名为 jobs 的文件夹。现在,通过执行上述命令,我们将所有内容以及源文件夹的子文件夹传输到文件夹目标。这种类型的文件传输称为资源传输,因为我们正在传输包含文件 myjob.txt 及其所有内容的子文件夹。

例子#3

现在我们将编写一个命令,将目录内容复制到新创建的包含内容的目录中。

[玩转系统] PowerShell 复制项目 |实现PowerShell复制项的图示

Copy-Item -Path "./source/" -Destination "./newSource" -Recurse.

在上面的示例中,我们将所有文件和文件夹从源传输到一个新文件,该文件将在执行这些命令时生成。

例子#4

假设我们想要查看正在运行复制命令的文件的属性,那么我们可以将 -PassThru 命令与 Copy-Item 一起使用。

Copy-Item  -PassThru ./source/ ./destination1/ -Force
Copy-Item  -PassThru ./source/ ./destination/

[玩转系统] PowerShell 复制项目 |实现PowerShell复制项的图示

例子#5

如果我们想将整个目录传输到另一个文件夹(包括所有内容),我们可以运行 Copy-Item 以及 include “* ”。

Copy-Item -path ./source/ ./destination1/ -Include "*"

[玩转系统] PowerShell 复制项目 |实现PowerShell复制项的图示

例子#6

在这个例子中,我们涵盖了两件事,一是“-Force”,另一个是“-Confirm”。我们试图将源目录的文件复制并粘贴到destination1目录。一旦我们运行此命令,它会询问您是否确实要复制它,一旦我们说“是”,它就会显示错误文件已经存在,因此我们再次使用下一个命令“-Force”,它将强制用新文件替换旧文件来自源文件夹。请参阅下面的屏幕以供参考。

Copy-Item -path ./source/ ./destination1/ -Confirm
Copy-Item -path ./source/ ./destination1/ -Confirm -Force

[玩转系统] PowerShell 复制项目 |实现PowerShell复制项的图示

结论

PowerShell Copy-Item 命令可以解决开发人员的许多问题,因为现在他们可以执行具有更多选项的递归复制,这比通过 UI 复制要好得多。对于更熟悉窗口环境的开发人员来说更好。

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

取消回复欢迎 发表评论:

关灯