Skip to content

Commit 2718c26

Browse files
Merge pull request #6736 from Xelu86/uuf_robocopy
[UUF] Robocopy.exe
2 parents a528ee3 + 5c1bfdc commit 2718c26

File tree

1 file changed

+23
-17
lines changed
  • WindowsServerDocs/administration/windows-commands

1 file changed

+23
-17
lines changed

WindowsServerDocs/administration/windows-commands/robocopy.md

+23-17
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ms.topic: reference
55
ms.assetid: d4c6e8e9-fcb3-4a4a-9d04-2d8c367b6354
66
author: xelu86
77
ms.author: alalve
8-
ms.date: 05/28/2024
8+
ms.date: 03/17/2025
99
---
1010

1111
# robocopy
@@ -25,7 +25,7 @@ robocopy c:\reports "\\marketing\videos" yearly-report.mov /mt /z
2525
```
2626

2727
> [!IMPORTANT]
28-
> If any data is copied from the _root_ of a device, the destination directory will adopt the "hidden" attribute during the copy process.
28+
> If any data is copied from the _root_ of a device, the destination directory adopts the "hidden" and "system" attributes during the copy process.
2929
3030
### Parameters
3131

@@ -113,15 +113,15 @@ These throttling options are used to specify the maximum I/O bandwidth that Robo
113113
| /xc | Excludes existing files with the same timestamp, but different file sizes. |
114114
| /xn | Source directory files newer than the destination are excluded from the copy. |
115115
| /xo | Source directory files older than the destination are excluded from the copy. |
116-
| /xx | Excludes extra files and directories present in the destination but not the source. Excluding extra files won't delete files from the destination. |
116+
| /xx | Excludes extra files and directories present in the destination but not the source. Excluding extra files doesn't delete files from the destination. |
117117
| /xl | Excludes "lonely" files and directories present in the source but not the destination. Excluding lonely files prevents any new files from being added to the destination. |
118118
| /im | Include modified files (differing change times). |
119119
| /is | Includes the same files. Same files are identical in name, size, times, and all attributes. |
120120
| /it | Includes "tweaked" files. Tweaked files have the same name, size, and times, but different attributes. |
121121
| /max:`<n>` | Specifies the maximum file size (to exclude files bigger than *n* bytes). |
122122
| /min:`<n>` | Specifies the minimum file size (to exclude files smaller than *n* bytes). |
123-
| /maxage:`<n>` | Specifies the maximum file age (to exclude files older than *n* days or date). |
124-
| /minage:`<n>` | Specifies the minimum file age (exclude files newer than *n* days or date). |
123+
| /maxage:`<n>` | Specifies the maximum file age to exclude files older than *n* days or a date based on when the files were last _modified_. |
124+
| /minage:`<n>` | Specifies the minimum file age to exclude files newer than *n* days or a date based on when the files were last _modified_. |
125125
| /maxlad:`<n>` | Specifies the maximum last access date (excludes files unused since *n*). |
126126
| /minlad:`<n>` | Specifies the minimum last access date (excludes files used since *n*) If *n* is less than 1900, *n* specifies the number of days. Otherwise, *n* specifies a date in the format YYYYMMDD. |
127127
| /xj | Excludes junction points, which are normally included by default. |
@@ -155,7 +155,7 @@ These throttling options are used to specify the maximum I/O bandwidth that Robo
155155
| /nc | Specifies that file classes aren't to be logged. |
156156
| /nfl | Specifies that file names aren't to be logged. |
157157
| /ndl | Specifies that directory names aren't to be logged. |
158-
| /np | Specifies that the progress of the copying operation (the number of files or directories copied so far) won't be displayed. |
158+
| /np | Specifies to not display the progress of the copying operation (the number of files or directories copied so far). |
159159
| /eta | Shows the estimated time of arrival (ETA) of the copied files. |
160160
| /log:`<logfile>` | Writes the status output to the log file (overwrites the existing log file). |
161161
| /log+:`<logfile>` | Writes the status output to the log file (appends the output to the existing log file). |
@@ -179,17 +179,17 @@ These throttling options are used to specify the maximum I/O bandwidth that Robo
179179

180180
#### Remarks
181181

182-
- Using **/PURGE** or **/MIR** on the root directory of the volume formerly caused robocopy to apply the requested operation on files inside the System Volume Information directory as well. This is no longer the case as if either is specified, robocopy will skip any files or directories with that name in the top-level source and destination directories of the copy session.
182+
- Using **/PURGE** or **/MIR** on the root directory of the volume formerly caused robocopy to apply the requested operation on files inside the System Volume Information directory as well. This is no longer the case as if either is specified, robocopy skips any files or directories with that name in the top-level source and destination directories of the copy session.
183183

184184
- Modified files classification applies only when both source and destination filesystems support change timestamps, such as NTFS, and the source and destination files have different change times but are otherwise the same. These files aren't copied by default. Specify **/IM** to include them.
185185

186-
- The **/DCOPY:E** flag requests that extended attribute copying should be attempted for directories. Robocopy will continue if a directory's EAs couldn't be copied. This flag isn't included in **/COPYALL**.
186+
- The **/DCOPY:E** flag requests that extended attribute copying should be attempted for directories. Robocopy continues the copy operation even if a directory's EAs couldn't be copied. This flag isn't included in **/COPYALL**.
187187

188-
- If either **/IoMaxSize** or **/IoRate** are specified, robocopy will enable copy file throttling to reduce system load. Both can be adjusted to optimal values and copy parameters, but the system and robocopy are allowed to adjust them to allowed values as necessary.
188+
- If either **/IoMaxSize** or **/IoRate** are specified, robocopy enables copy file throttling to reduce system load. Both can be adjusted to optimal values and copy parameters, but the system and robocopy are allowed to adjust them to allowed values as necessary.
189189

190-
- If **/Threshold** is used, it specifies a minimum file size for engaging throttling. Files below that size won't be throttled. Values for all three parameters can be followed by an optional suffix character such as [KMG] (kilobytes, megabytes, gigabytes).
190+
- If **/Threshold** is used, it specifies a minimum file size for engaging throttling. Files below that size aren't throttled. Values for all three parameters can be followed by an optional suffix character such as [KMG] (kilobytes, megabytes, gigabytes).
191191

192-
- Using **/LFSM** requests robocopy to operate in 'low free space mode'. In this mode, robocopy will pause whenever a file copy would cause the destination volume's free space to go below a 'floor' value. This value can be explicitly specified using **/LFSM:_n_**[KMG] flag.
192+
- Using **/LFSM** requests robocopy to operate in 'low free space mode'. In this mode, robocopy pauses whenever a file copy would cause the destination volume's free space to go below a 'floor' value. This value can be explicitly specified using **/LFSM:_n_**[KMG] flag.
193193

194194
- If **/LFSM** is specified with no explicit floor value, the floor is set to 10% of the destination volume's size. Low free space mode is incompatible with **/MT** and **/EFSRAW**.
195195

@@ -213,42 +213,48 @@ These throttling options are used to specify the maximum I/O bandwidth that Robo
213213

214214
It's highly recommended when running the `robocopy` command to create a log file that can be viewed once the process completes verifying its integrity. In the following examples, each one uses the `/LOG:` parameter. To append any log information to the same log file, use the `/LOG+:` parameter instead.
215215

216-
To copy all files and subdirectories, including empty directories, from the "Records" folder to the "Backup" folder on drive "D", type the following:
216+
To copy all files and subdirectories, including empty directories, from the "Records" folder to the "Backup" folder on drive "D", type:
217217

218218
```cmd
219219
robocopy C:\Users\Admin\Records D:\Backup /E /ZB /LOG:C:\Logs\Backup.log
220220
```
221221

222-
To mirror the contents of the "Records" folder to the "Backup" folder on drive "D", delete any files in the destination that don't exist in the source with 2 retries and waiting 5 seconds between each retry, type the following:
222+
To mirror the contents of the "Records" folder to the "Backup" folder on drive "D", delete any files in the destination that don't exist in the source with 2 retries and waiting 5 seconds between each retry, type:
223223

224224
```cmd
225225
robocopy C:\Users\Admin\Records D:\Backup /MIR /R:2 /W:5 /LOG:C:\Logs\Backup.log
226226
```
227227

228-
To copy all files and subdirectories that aren't empty from the "Records" folder to the "Backup" folder on drive "D", retaining the file data, attributes, and timestamps with 16 multi-threaded copy operation, type the following:
228+
To copy all files and subdirectories that aren't empty from the "Records" folder to the "Backup" folder on drive "D", retaining the file data, attributes, and timestamps with 16 multi-threaded copy operation, type:
229229

230230
```cmd
231231
robocopy C:\Users\Admin\Records D:\Backup /S /E /COPY:DAT /MT:16 /LOG:C:\Logs\Backup.log
232232
```
233233

234-
To move files and subdirectories, excluding empty directories, from the "Records" folder to the "Backup" folder on drive "D", and exclude files older than 7 days, type the following:
234+
To move files and subdirectories, excluding empty directories, from the "Records" folder to the "Backup" folder on drive "D", and exclude files older than 7 days, type:
235235

236236
```cmd
237237
robocopy C:\Users\Admin\Records D:\Backup /S /MAXAGE:7 /MOV /LOG:C:\Logs\Backup.log
238238
```
239239

240-
To copy all files and subdirectories, including empty directories, from the "Records" folder to the "Backup" folder on drive "D" showing the estimated time for each file and delete any files and directories in the destination that don't exist from the source, type the following:
240+
To copy all files and subdirectories, including empty directories, from the "Records" folder to the "Backup" folder on drive "D" showing the estimated time for each file and delete any files and directories in the destination that don't exist from the source, type:
241241

242242
```cmd
243243
robocopy C:\Users\Admin\Records D:\Backup /ETA /PURGE /LOG:C:\Logs\Backup.log
244244
```
245245

246-
To copy all files and subdirectories from the folder named "Records" on the "C" drive to a folder named "Backup" on the "D" drive while limiting the I/O rate to 1 megabyte per second during the copy operation, type the following:
246+
To copy all files and subdirectories from the folder named "Records" on the "C" drive to a folder named "Backup" on the "D" drive while limiting the I/O rate to 1 megabyte per second during the copy operation, type:
247247

248248
```cmd
249249
robocopy C:\Records D:\Backup /iorate:1m
250250
```
251251

252+
To skip copying files from a source folder to a destination folder when the files already exist in the destination folder, regardless of whether they're newer, older, or modified, type:
253+
254+
```cmd
255+
robocopy C:\Source C:\Destination /XC /XN /XO
256+
```
257+
252258
## Related links
253259

254260
- [Command-Line Syntax Key](command-line-syntax-key.md)

0 commit comments

Comments
 (0)