Set-AzStorageFileContent

上傳檔案的內容。

Syntax

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>]

Description

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