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

[玩转系统] Powershell 复制文件 |了解Powershell复制文件的示例

作者:精品下载站 日期:2024-12-14 04:54:55 浏览:11 分类:玩电脑

Powershell 复制文件 |了解Powershell复制文件的示例


[玩转系统] Powershell 复制文件 |了解Powershell复制文件的示例

Powershell复制文件简介

复制文件对于任何用户来说都是最简单的操作之一。所有 shell 语言中都有对应的命令,类似地,在 PowerShell 中,这是借助 Copy-Item cmdlet 实现的。该cmdlet不仅可以复制单个文件,还可以用于复制文件夹,递归复制文件夹内的多个文件。它还允许用户仅根据通配符选择和复制文件。本文将详细介绍使用此 cmdlet 在 PowerShell 中复制项目的各种方法以及适当的示例和示例脚本。在本主题中,我们将了解 Powershell 复制文件。

Powershell复制文件的语法

以下是语法:

NAME
Copy-Item
SYNTAX
Copy-Item [-Path] <string[]> [[-Destination] <string>] [-Container] [-Force] [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-Recurse] [-PassThru]
[-Credential <pscredential>] [-WhatIf] [-Confirm] [-UseTransaction] [-FromSession <PSSession>] [-ToSession <PSSession>]  [<CommonParameters>]
Copy-Item [[-Destination] <string>] -LiteralPath <string[]> [-Container] [-Force] [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-Recurse] [-PassThru]
[-Credential <pscredential>] [-WhatIf] [-Confirm] [-UseTransaction] [-FromSession <PSSession>] [-ToSession <PSSession>]  [<CommonParameters>]
ALIASES
cpi
cp
copy

参数

以下是下面提到的以下参数

-Confirm:这用于在运行 cmdlet 之前获得用户的确认。其类型为开关参数。它的别名是cf。它的默认值为 false。它不接受管道输入,并且不允许使用通配符。这是一个可选参数。

-Container:此参数表示在执行复制文件操作时 cmdlet 保留容器对象。它的类型是switch,默认值为true。它不接受管道输入,不允许使用通配符。这是一个可选参数。

-凭据:这用于在执行命令时提升凭据或模拟其他用户。任何内置提供程序都不支持此功能。它的类型是 PSCredential。它接受管道输入,但不接受通配符。这是一个可选的。

-目标:这表示复制文件必须移动到的目标位置。它的类型是字符串。它的默认值是当前目录。它接受管道输入,但不接受通配符。如果必须重命名文件名,则应指定新名称。

-排除:指定需要从复制中排除的项目。它可以是路径或模式。允许使用通配符。它的类型是String[]。默认值为无。不接受管道输入,但允许使用通配符。这是可选的。

-过滤器:这表示要与 cmdlet 一起使用的过滤器。唯一支持此功能的提供程序是内置文件系统提供程序。过滤器比通配符更有效。它的类型是字符串。默认值为none。不接受管道输入,但允许使用通配符。这是可选的。

-Force:这应该在处理只读文件或别名时使用。它的类型是开关。它的默认值为 false。它不接受管道输入,并且不允许使用通配符。这是一个可选参数。

-包含:这表示需要包含的项目列表。它可以是路径或模式。允许使用通配符。它的类型是String[]。默认值为无。不接受管道输入,但允许使用通配符。这是可选的。

-LiteralPath:它表示到一个或多个位置的路径。应该按照准确输入的方式使用它。不接受通配符路径。转义字符必须用单引号引起来。它的类型是String[]。它的别名是 PsPath 和 LP。它的默认值是无。它接受管道输入。

-PassThru:这不会生成任何输出。它的类型是switch。它不接受管道输入,并且不允许使用通配符。这是一个可选参数。

-路径:这是一个强制参数。它表示要复制的项目可用的路径。它的类型是String[]。它的默认值是无。它接受管道输入并且允许使用通配符。

-递归:这表示要发生递归操作。它的类型是开关。默认值为 false。它不接受管道输入,并且不允许使用通配符。这是一个可选参数。

-ToSession:将文件复制到远程计算机时使用。目的地位于远程计算机上。它的类型是 PSSession。它的默认值是无。不接受管道输入和通配符。这是可选的。

-Whatif:这用于查看运行 cmdlet 时输出的样子。它的类型是switch。它不接受管道输入,并且不允许使用通配符。这是一个可选参数。

Powershell 复制文件示例

这是下面提到的以下示例:

输入:

Write-Host "Welcome to the demo of Copy-File cmdlet"
Write-Host "Simple example of moving a file"
Copy-Item "C:\Vignesh\append.txt" -Destination "C:\Copy-File Eg"
Write-Host "File moved"
Write-Host "Copying all txt files in a location"
Copy-Item "C:\Vignesh\*txt" -Destination "C:\Copy-File Eg" -Recurse
Write-Host "Files are copied to the new location"
Get-ChildItem "C:\Copy-File Eg"
Write-Host "Copying a file and renaming while moving"
Copy-Item "C:\Vignesh\Messaging_August 2019_Roster.xlsx" -Destination "C:\Copy-File Eg\roas.csv"
Write-Host "File copied with a new name"
Get-ChildItem "C:\Copy-File Eg"
Write-Host "Copy files to a new directory"
Copy-Item "C:\Vignesh\*txt" -Destination "C:\Copy-File Eg\newdirectory" -Recurse
Write-Host "Files copied to new directory"
Get-ChildItem "C:\Copy-File Eg\newdirectory"
Write-Host "Copying to a remote machine"
$Session = New-PSSession -ComputerName "testserver" -Credential "test\vignesh"
Copy-Item "D:\test.log" -Destination "C:\" -ToSession $Session
Write-Host "File copied to remote machine"

输出:

[玩转系统] Powershell 复制文件 |了解Powershell复制文件的示例

[玩转系统] Powershell 复制文件 |了解Powershell复制文件的示例

[玩转系统] Powershell 复制文件 |了解Powershell复制文件的示例

结论

因此,本文详细介绍了如何使用 Copy-File cmdlet 在 PowerShell 中复制文件。它解释了与 cmdlet 相关的各种参数、它们的类型和用法。本文还演示了如何使用示例脚本复制单个文件、多个文件、在移动时重命名文件、如何将文件复制到远程计算机等。要了解有关 cmdlet 的更多信息,建议编写示例脚本并进行练习。

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

取消回复欢迎 发表评论:

关灯