Skip to content
The new Azure Storage data transfer utility - AzCopy v10
Go Python Other
Branch: master
Clone or download
mahilleb-msft and zezha-msft Update helpMessages.go (#598)
Azure Blob OAuth is not supported as source.
Latest commit d0b5cae Sep 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Added issue template Sep 17, 2018
azbfs Fix/add catch all log redaction (#466) Jun 28, 2019
cmd Update helpMessages.go (#598) Sep 18, 2019
common Incremented the version number for v10.2.1 Jul 3, 2019
ste Fix/refactor unclear pacer code (#472) Jul 1, 2019
testSuite Clean test output Jul 2, 2019
.gitignore Fix/too many open files in download (#276) Mar 20, 2019
.travis.yml Enabled copying to/from various blob types S2S (#372) Jun 20, 2019 Incremented the version number for v10.2.1 Jul 3, 2019
Dockerfile Bump Travis CI's Golang version to 1.12 + fix stack trace seeking for… Jun 18, 2019
LICENSE Added skeleton frontend which can generate job parts in JSON format Dec 20, 2017
Makefile Simplify Travis CI run and bump Golang version to 1.11 Jun 18, 2019 Emphasize download links in README Jul 3, 2019
ThirdPartyNotice.txt Pull proxy details from internet explorer/edge (#406) Jun 20, 2019
azure-pipelines.yml Defined build triggers to cover both master and dev Jun 18, 2019
docker-compose.yml Added support for travis Jun 12, 2018
go.mod Added ADLS Gen2 support for rm command (#462) Jun 29, 2019
go.sum Added ADLS Gen2 support for rm command (#462) Jun 29, 2019
main.go Fix/refactor unclear pacer code (#472) Jul 1, 2019
main_unix.go Avoid throwing error when failing to set file descriptor limit Apr 8, 2019
main_windows.go Pull proxy details from internet explorer/edge (#406) Jun 20, 2019
readme-command-prompt.png Added SPN authentication & relevant in-depth documentation. (#383) Jun 28, 2019 10.0.4 release (#111) Nov 3, 2018 10.0.4 release (#111) Nov 3, 2018

AzCopy v10

AzCopy v10 is a command-line utility that you can use to copy data to and from containers and file shares in Azure Storage accounts. AzCopy V10 presents easy-to-use commands that are optimized for performance.

Features and capabilities

Use with storage accounts that have a hierarchical namespace (Azure Data Lake Storage Gen2).

Create containers and file shares.

Upload files and directories.

Download files and directories.

Copy containers, directories and blobs between storage accounts (Blobs only).

Synchronize containers with local file systems and visa versa (Blobs only).

Copy objects, directories, and buckets from Amazon Web Services (AWS) (Blobs only).

List files in a container (Blobs only).

Remove files from a container (Blobs only).

Recover from failures by restarting previous jobs.

Find help

For complete guidance, visit any of these articles on the website.

✳️ Get started with AzCopy (download links here)

✳️ Transfer data with AzCopy and blob storage

✳️ Transfer data with AzCopy and file storage

✳️ Transfer data with AzCopy and Amazon S3 buckets

✳️ Configure, optimize, and troubleshoot AzCopy

Find help from your command prompt

For convenience, consider adding the AzCopy directory location to your system path for ease of use. That way you can type azcopy from any directory on your system.

To see a list of commands, type azcopy -h and then press the ENTER key.

To learn about a specific command, just include the name of the command (For example: azcopy list -h).

AzCopy command help example

If you choose not to add AzCopy to your path, you'll have to change directories to the location of your AzCopy executable and type azcopy or .\azcopy in Windows PowerShell command prompts.

Frequently asked questions

What is the difference between sync and copy?

The copy command is a simple transferring operation, it scans the source and attempts to transfer every single file/blob. The supported source/destination pairs are listed in the help message of the tool. On the other hand, sync makes sure that whatever is present in the source will be replicated to the destination. If your goal is to simply move some files, then copy is definitely the right command, since it offers much better performance.

For sync, last modified times are used to determine whether to transfer the same file present at both the source and the destination. If the use case is to incrementally transfer data then sync is the better choice, since only the modified/missing files are transferred.

Will copy overwrite my files?

By default, AzCopy will overwrite the files at the destination if they already exist. To avoid this behavior, please use the flag --overwrite=false.

Will 'sync' delete files in the destination if they no longer exist in the source location?

By default, the 'sync' command doesn't delete files in the destination unless you use an optional flag with the command. To learn more, see Synchronize files.

How to contribute to AzCopy v10

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.

You can’t perform that action at this time.