你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Set-AzStorageFileContent

上传文件的内容。

语法

Set-AzStorageFileContent
   [-ShareName] <String>
   [-Source] <String>
   [[-Path] <String>]
   [-PassThru]
   [-Force]
   [-AsJob]
   [-DisAllowTrailingDot]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [-PreserveSMBAttribute]
   [<CommonParameters>]
Set-AzStorageFileContent
   [-Share] <CloudFileShare>
   [-ShareClient <ShareClient>]
   [-Source] <String>
   [[-Path] <String>]
   [-PassThru]
   [-Force]
   [-AsJob]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [-PreserveSMBAttribute]
   [<CommonParameters>]
Set-AzStorageFileContent
   [-Directory] <CloudFileDirectory>
   [-ShareDirectoryClient <ShareDirectoryClient>]
   [-Source] <String>
   [[-Path] <String>]
   [-PassThru]
   [-Force]
   [-AsJob]
   [-Context <IStorageContext>]
   [-ServerTimeoutPerRequest <Int32>]
   [-ClientTimeoutPerRequest <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-ConcurrentTaskCount <Int32>]
   [-WhatIf]
   [-Confirm]
   [-PreserveSMBAttribute]
   [<CommonParameters>]

说明

Set-Az存储FileContent cmdlet 将文件的内容上传到指定共享上的文件。

示例

示例 1:上传当前文件夹中的文件

Set-AzStorageFileContent -ShareName "ContosoShare06" -Source "DataFile37" -Path "ContosoWorkingFolder/CurrentDataFile"

此命令将当前文件夹中名为 DataFile37 的文件作为名为 ContosoWorkingFolder 文件夹中的 CurrentDataFile 的文件上传。

示例 2:上传当前文件夹中的所有文件

$CurrentFolder = (Get-Item .).FullName
$Container = Get-AzStorageShare -Name "ContosoShare06"
Get-ChildItem -Recurse | Where-Object { $_.GetType().Name -eq "FileInfo"} | ForEach-Object {
    $path=$_.FullName.Substring($Currentfolder.Length+1).Replace("\","/")
    Set-AzStorageFileContent -Share $Container -Source $_.FullName -Path $path -Force
}

此示例使用多个常见的 Windows PowerShell cmdlet 和当前 cmdlet 将当前文件夹中的所有文件上传到容器 ContosoShare06 的根文件夹。 第一个命令获取当前文件夹的名称,并将其存储在$CurrentFolder变量中。 第二个命令使用 Get-Az存储Share cmdlet 获取名为 ContosoShare06 的文件共享,然后将其存储在$Container变量中。 最后一个命令获取当前文件夹的内容,并使用管道运算符将每个内容传递给 Where-Object cmdlet。 该 cmdlet 筛选出不是文件的对象,然后将文件传递给 ForEach-Object cmdlet。 该 cmdlet 为每个文件运行脚本块,该文件创建相应的路径,然后使用当前 cmdlet 上传文件。 结果与此示例上传的其他文件具有相同的名称和相对位置。 有关脚本块的详细信息,请键入 Get-Help about_Script_Blocks

示例 3:将本地文件上传到 Azure 文件,并在 Azure 文件中保留本地文件 SMB 属性(文件创建时间、文件上次写入时间、文件上次写入时间)。

Set-AzStorageFileContent -Source $localFilePath -ShareName sample -Path "dir1/file1" -PreserveSMBAttribute

此示例将本地文件上传到 Azure 文件,并在 Azure 文件中保留本地文件 SMB 属性(文件创建时间、文件上次写入时间、文件上次写入时间)。

参数

-AsJob

在后台运行 cmdlet。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ClientTimeoutPerRequest

指定一个服务请求的客户端超时间隔(以秒为单位)。 如果上一次调用在指定的时间间隔内失败,则此 cmdlet 将重试请求。 如果此 cmdlet 在间隔过前未收到成功的响应,则此 cmdlet 将返回错误。

Type:Nullable<T>[Int32]
Aliases:ClientTimeoutPerRequestInSeconds
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConcurrentTaskCount

指定最大并发网络调用数。 可以使用此参数通过指定并发网络调用的最大数目来限制本地 CPU 和带宽使用量的并发性。 指定的值是绝对计数,不乘以核心计数。 此参数可帮助减少低带宽环境中的网络连接问题,例如每秒 100 千比特。 默认值为 10。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Context

指定 Azure 存储上下文。 若要获取存储上下文,请使用 New-Az存储Context cmdlet。

Type:IStorageContext
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Directory

将文件夹指定为 CloudFileDirectory 对象。 此 cmdlet 将文件上传到此参数指定的文件夹。 若要获取目录,请使用 New-Az存储Directory cmdlet。 还可以使用 Get-Az存储File cmdlet 获取目录。

Type:CloudFileDirectory
Aliases:CloudFileDirectory
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-DisAllowTrailingDot

禁止尾随点 (.) 后缀目录和文件名。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

指示此 cmdlet 覆盖现有的 Azure 存储文件。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

指示此 cmdlet 返回它创建或上传的 Azure存储File 对象。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定文件或文件夹的路径。 此 cmdlet 将内容上传到此参数指定的文件,或上传到此参数指定的文件夹中的文件。 如果指定文件夹,此 cmdlet 将创建与源文件同名的文件。 如果指定不存在的文件的路径,此 cmdlet 将创建该文件并将内容保存到该文件。 如果指定已存在的文件,并且指定 Force 参数,则此 cmdlet 将覆盖文件的内容。 如果指定已存在且未指定 Force 的文件,则此 cmdlet 不会进行更改,并返回错误。 如果指定不存在的文件夹的路径,则此 cmdlet 不会进行更改,并返回错误。

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PreserveSMBAttribute

在目标文件中保留源文件 SMB 属性(文件创建时间、文件创建时间、文件上次写入时间)。 此参数仅在 Windows 上可用。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServerTimeoutPerRequest

指定请求的服务器部分超时期限的长度。

Type:Nullable<T>[Int32]
Aliases:ServerTimeoutPerRequestInSeconds
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Share

指定 CloudFileShare 对象。 此 cmdlet 上传到文件共享中的文件,此参数指定。 若要获取 CloudFileShare 对象,请使用 Get-Az存储Share cmdlet。 此对象包含存储上下文。 如果指定此参数,请不要指定 Context 参数。

Type:CloudFileShare
Aliases:CloudFileShare
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ShareClient

ShareClient 对象指示将文件上传到的共享。

Type:ShareClient
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ShareDirectoryClient

CloudFileDirectory 对象指示将上传文件的云目录。

Type:ShareDirectoryClient
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ShareName

指定文件共享的名称。 此 cmdlet 上传到文件共享中的文件,此参数指定。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Source

指定此 cmdlet 上传的源文件。 如果指定不存在的文件,则此 cmdlet 将返回错误。

Type:String
Aliases:FullName
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

CloudFileShare

CloudFileDirectory

String

IStorageContext

输出

AzureStorageFile