Add-BitsFile

Add-BitsFile

Adds one or more files to an existing Background Intelligent Transfer Service (BITS) transfer job.

Syntax

Parameter Set: AddFilesFromParams
Add-BitsFile [-BitsJob] <BitsJob[]> [-Source] <String[]> [[-Destination] <String[]> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Add-BitsFile cmdlet adds files to a 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.

Aliases

none

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 example, 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.

Aliases

none

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 example, 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]".

Aliases

none

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

true

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

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, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • Microsoft.BackgroundIntelligentTransfer.Management.BitsJob[]

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

Outputs

The output type is the type of the objects that the cmdlet emits.

  • Microsoft.BackgroundIntelligentTransfer.Management.BitsJob[]

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

Examples

-------------------------- EXAMPLE 1 --------------------------

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.

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

-------------------------- EXAMPLE 2 --------------------------

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.

C:\PS>$b = Get-BitsTransfer -JobId 10778CFA-C1D7-4A82-8A9D-80B19224879C
PS C:\> Add-BitsFile -BitsJob $b -Source http://server01/servertestdir/testfile1.txt, http://server01/servertestdir/testfile2.txt -Destination c:\clienttestdir\testfile1.txt, c:\clienttestdir\testfile2.txt

-------------------------- EXAMPLE 3 --------------------------

These commands add 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 $b 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 $b 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 $b 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

C:\PS>$b = Start-BitsTransfer -Suspended
PS C:\> Import-CSV filelist.txt | Add-BitsFile -BitsJob $b
PS C:\> Resume-BitsTransfer -BitsJob $b

Complete-BitsTransfer

Get-BitsTransfer

Remove-BitsTransfer

Resume-BitsTransfer

Set-BitsTransfer

Start-BitsTransfer

Suspend-BitsTransfer