< Back

Add-BitsFile

Tue Jan 29, 2019 10:13 pm

NAME Add-BitsFile



SYNOPSIS

Adds one or more files to an existing BITS transfer job.





SYNTAX

Add-BitsFile [-BitsJob] <BitsJob[]> [-Source] <String[]> [[-Destination] <String[]>] [-Confirm] [-WhatIf] [<CommonParameters>]





DESCRIPTION

The Add-BitsFile cmdlet adds files to a Background Intelligent Transfer Service (BITS) transfer job. You can specify the files to add to the BITS

transfer job by name at the command prompt or in a comma-separated value (CSV) file.



Important: An upload job can contain only one file. To upload more than one file, use the Import-Csv cmdlet, and pipe the output to the

Add-BitsFile cmdlet. For more information, see example 3 in this Help topic. Or, use a cabinet file (.cab) or a compressed file (.zip).





PARAMETERS

-BitsJob <BitsJob[]>

Specifies the BITS transfer jobs to which you want to add files. You can pipe a value to this parameter from other cmdlets that return BitsJob

objects, such as Get-BitsTransfer.



Required? true

Position? 1

Default value none

Accept pipeline input? True (ByValue)

Accept wildcard characters? false



-Destination [<String[]>]

Specifies the destination location and the names of the files that you want to transfer. The destination names are paired with the

corresponding source file names. For instance, the first file name specified in the Source parameter corresponds to the first file name in the

Destination parameter, and the second file name in the Source parameter corresponds to the second file name in the Destination parameter. The

Source and Destination parameters must have the same number of elements; otherwise, the command produces an error.



Required? false

Position? 3

Default value none

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Source <String[]>

Specifies the source location and the names of the files that you want to transfer. The source file names are paired with the corresponding

destination file names. For instance, the first file name specified in the Source parameter corresponds to the first file name in the

Destination parameter, and the second file name in the Source parameter corresponds to the second file name in the Destination parameter. The

Source and Destination parameters must have the same number of elements; otherwise, the command produces an error. You can use standard

wildcard characters such as the asterisk (*) and the question mark (?), or you can use a range operator such as "[a-r]".



Required? true

Position? 2

Default value none

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-Confirm [<SwitchParameter>]

Prompts you for confirmation before running the cmdlet.Prompts you for confirmation before running the cmdlet.



Required? false

Position? named

Default value false

Accept pipeline input? false

Accept wildcard characters? false



-WhatIf [<SwitchParameter>]

Shows what would happen if the cmdlet runs. The cmdlet is not run.Shows what would happen if the cmdlet runs. The cmdlet is not run.



Required? false

Position? named

Default value false

Accept pipeline input? false

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (http://go.microsoft.com/fwlink/?LinkID=113216).



INPUTS

Microsoft.BackgroundIntelligentTransfer.Management.BitsJob[]



This cmdlet accepts one or more BitsJob objects as input that populates the BitsJob parameter.





OUTPUTS

Microsoft.BackgroundIntelligentTransfer.Management.BitsJob[]



This cmdlet generates the BitsJob objects that are associated with the BITS transfer jobs to which the files were added.





Example 1: Append a file to the transfer queue of an existing BITS transfer job



PS C:\\>Get-BitsTransfer -JobId 10778CFA-C1D7-4A82-8A9D-80B19224879C | Add-BitsFile -Source http://server01/servertestdir/testfile1.txt

-Destination "c:\\clienttestdir\\testfile1.txt"



This command appends a file to the transfer queue of an existing BITS transfer job.



In this example, the output of the Get-BitsTransfer cmdlet is a BitsJob object that is identified by its unique job ID. The command pipes the job

ID to the Add-BitsFile cmdlet. The local and remote names of the file are in the parameters.





Example 2: Append a set of files to the transfer queue of an existing BITS transfer job



PS C:\\>$Bits = Get-BitsTransfer -JobId 10778CFA-C1D7-4A82-8A9D-80B19224879C

PS C:\\> Add-BitsFile -BitsJob $Bits -Source "http://server01/servertestdir/testfile1.txt", "http://server01/servertestdir/testfile2.txt"

-Destination "c:\\clienttestdir\\testfile1.txt", "c:\\clienttestdir\\testfile2.txt"



This command appends a set of files to the transfer queue of an existing BITS transfer job.



The first command retrieves the BITS transfer job that is identified by the job ID and then stores it in the $b variable. The second command uses

the BitsJob parameter to pass the BitsJob object that is stored in the $b variable to Add-BitsFile.



The server file names are paired with the corresponding client file names.





Example 3: Add a set of files to the transfer queue of a new BITS transfer job



PS C:\\>$Bits = Start-BitsTransfer -Suspended

PS C:\\> Import-CSV filelist.txt | Add-BitsFile -BitsJob $Bits

PS C:\\> Resume-BitsTransfer -BitsJob $Bits



This example adds a set of files to the transfer queue of a new BITS transfer job.



The first command creates a new BitsJob object and then stores it in the $Bits variable.



The second command uses the Import-CSV cmdlet to import a text file that contains a list of files to be transferred. The text file is converted to

an array of objects (one per line) and passed through the pipeline to the Add-BitsFile cmdlet. The BitsJob parameter is used to pass the BitsJob

object (the transfer job) that is stored in the $Bits variable to the Add-BitsFile cmdlet. This command also updates the transfer job with the

list of files to be transferred.



The third command passes the BitsJob object that is stored in the $Bits variable to the Resume-BitsTransfer cmdlet. The BITS transfer job is

restarted, and the files that are specified in the Filelist.txt file are transferred from the source to the destination.



The Import-CSV filelist.txt element of the second command imports a text file that contains the list of files to be transferred. Each line of this

file specifies a file to be transferred, in the <Source>,<Destination> format. The text file is converted to an array of objects, one per line,

and passed through the pipeline. In this example, the array of objects is passed to the Add-BitsFile cmdlet.



The contents of the Filelist.txt file resemble the following information:



Source, Destination

http://server01/servertestdir/testfile1.txt, c:\\clienttestdir\\testfile1.txt

http://server01/servertestdir/testfile2.txt, c:\\clienttestdir\\testfile2.txt

http://server01/servertestdir/testfile3.txt, c:\\clienttestdir\\testfile3.txt

http://server01/servertestdir/testfile4.txt, c:\\clienttestdir\\testfile4.txt







RELATED LINKS

Online Version:

Complete-BitsTransfer

Get-BitsTransfer

Remove-BitsTransfer

Resume-BitsTransfer

Set-BitsTransfer

Start-BitsTransfer

Suspend-BitsTransfer