build/robocopy.crescendo.json
{
"$schema": "../Microsoft.PowerShell.Crescendo.Schema.json", "Commands": [ { "Verb": "Invoke", "Noun": "Robocopy", "OriginalName": "robocopy.exe", "Description": "This is a PowerShell Crescendo wrapper function for Robocopy or Robust File Copy for Windows", "Parameters": [ { "Name": "Source", "ParameterType": "string", "Description": "Copy options \nSpecify the source directory or file to be copied.", "Mandatory": true, "Position": 1, "OriginalPosition": 1, "ParameterSetName": [ "Default" ] }, { "Name": "Destination", "ParameterType": "string", "Description": "Copy options \nSpecify the target directory or filename to be copied to.", "Mandatory": true, "Position": 2, "OriginalPosition": 2, "ParameterSetName": [ "Default" ] }, { "Name": "Files", "ParameterType": "string", "Description": "Copy options \nFile(s) to copy (names/wildcards: default is *.*).", "Position": 3, "OriginalPosition": 3, "ParameterSetName": [ "Default" ] }, { "Name": "Help", "OriginalName": "/?", "ParameterType": "switch", "Description": "Produces help from the native command", "Mandatory": true, "ParameterSetName": [ "help" ] }, { "Name": "SubDirectories", "OriginalName": "/S", "ParameterType": "switch", "Description": "Copy options \ncopy Subdirectories, but not empty ones.", "ParameterSetName": [ "Default" ] }, { "Name": "EmptyDirectories", "OriginalName": "/E", "ParameterType": "switch", "Description": "Copy options \ncopy subdirectories, including Empty ones.", "ParameterSetName": [ "Default" ] }, { "Name": "nLevels", "OriginalName": "/LEV:", "ParameterType": "string", "Description": "Copy options \nonly copy the top n LEVels of the source directory tree.", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "Restartable", "OriginalName": "/Z", "ParameterType": "switch", "Description": "Copy options \ncopy files in restartable mode.", "ParameterSetName": [ "Default" ] }, { "Name": "BackupMode", "OriginalName": "/B", "ParameterType": "switch", "Description": "Copy options \ncopy files in Backup mode.", "ParameterSetName": [ "Default" ] }, { "Name": "RestartableBackup", "OriginalName": "/ZB", "ParameterType": "switch", "Description": "Copy options \nuse restartable mode; if access denied use Backup mode.", "ParameterSetName": [ "Default" ] }, { "Name": "UnBuffered", "OriginalName": "/J", "ParameterType": "switch", "Description": "Copy options \ncopy using unbuffered I/O (recommended for large files).", "ParameterSetName": [ "Default" ] }, { "Name": "EFSRAW", "OriginalName": "/EFSRAW", "ParameterType": "switch", "Description": "Copy options \ncopy all encrypted files in EFS RAW mode.", "ParameterSetName": [ "Default" ] }, { "Name": "CopyFlags", "OriginalName": "/COPY:", "ParameterType": "string", "Description": "Copy options \nwhat to COPY for files (default is /COPY:DAT). \n(copyflags : D=Data, A=Attributes, T=Timestamps, X=Skip alt data streams). \n(S=Security=NTFS ACLs, O=Owner info, U=aUditing info).", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "CopySEC", "OriginalName": "/SEC", "ParameterType": "switch", "Description": "Copy options \ncopy files with SECurity (equivalent to /COPY:DATS).", "ParameterSetName": [ "Default" ] }, { "Name": "CopyALL", "OriginalName": "/COPYALL", "ParameterType": "switch", "Description": "Copy options \nCOPY ALL file info (equivalent to /COPY:DATSOU).", "ParameterSetName": [ "Default" ] }, { "Name": "NoCopy", "OriginalName": "/NOCOPY", "ParameterType": "switch", "Description": "Copy options \nCOPY NO file info (useful with /PURGE).", "ParameterSetName": [ "Default" ] }, { "Name": "SECFix", "OriginalName": "/SECFIX", "ParameterType": "switch", "Description": "Copy options \nFIX file SECurity on all files, even skipped files.", "ParameterSetName": [ "Default" ] }, { "Name": "TimeFix", "OriginalName": "/TIMFIX", "ParameterType": "switch", "Description": "Copy options \nFIX file TIMes on all files, even skipped files.", "ParameterSetName": [ "Default" ] }, { "Name": "Purge", "OriginalName": "/PURGE", "ParameterType": "switch", "Description": "Copy options \ndelete dest files/dirs that no longer exist in source.", "ParameterSetName": [ "Default" ] }, { "Name": "Mirror", "OriginalName": "/MIR", "ParameterType": "switch", "Description": "Copy options \nMIRror a directory tree (equivalent to /E plus /PURGE).", "ParameterSetName": [ "Default" ] }, { "Name": "MoveFiles", "OriginalName": "/MOV", "ParameterType": "switch", "Description": "Copy options \nMOVe files (delete from source after copying).", "ParameterSetName": [ "Default" ] }, { "Name": "MoveAll", "OriginalName": "/MOVE", "ParameterType": "switch", "Description": "Copy options \nMOVE files AND dirs (delete from source after copying).", "ParameterSetName": [ "Default" ] }, { "Name": "AddAttributes", "OriginalName": "/A+:", "ParameterType": "string", "Description": "Copy options \nAdds the specified attributes to copied files. The valid values for this option are: \nR - Read only \nA - Archive \nS - System \nH - Hidden \nC - Compressed \nN - Not content indexed \nE - Encrypted \nT - Temporary", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "RemoveAttributes", "OriginalName": "/A-:", "ParameterType": "string", "Description": "Copy options \nRemoves the specified attributes to copied files. The valid values for this option are: \nR - Read only \nA - Archive \nS - System \nH - Hidden \nC - Compressed \nN - Not content indexed \nE - Encrypted \nT - Temporary", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "CreateTree", "OriginalName": "/CREATE", "ParameterType": "switch", "Description": "Copy options \nCREATE directory tree and zero-length files only.", "ParameterSetName": [ "Default" ] }, { "Name": "FAT", "OriginalName": "/FAT", "ParameterType": "switch", "Description": "Copy options \ncreate destination files using 8.3 FAT file names only.", "ParameterSetName": [ "Default" ] }, { "Name": "256", "OriginalName": "/256", "ParameterType": "switch", "Description": "Copy options \nturn off very long path (> 256 characters) support.", "ParameterSetName": [ "Default" ] }, { "Name": "MonitorChanges", "OriginalName": "/MON:", "ParameterType": "string", "Description": "Copy options \nMONitor source; run again when more than n changes seen.", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "MonitorTime", "OriginalName": "/MOT:", "ParameterType": "string", "Description": "Copy options \nMOnitor source; run again in m minutes Time, if changed.", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "RunHours", "OriginalName": "/RH:", "ParameterType": "string", "Description": "Copy options \n24hr Format hhmm-hhmm \nRun Hours - times when new copies may be started.", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "PerFilePass", "OriginalName": "/PF", "ParameterType": "switch", "Description": "Copy options \ncheck run hours on a Per File (not per pass) basis.", "ParameterSetName": [ "Default" ] }, { "Name": "InterPacketGap", "OriginalName": "/IPG:", "ParameterType": "string", "Description": "Copy options \nInter-Packet Gap (ms), to free bandwidth on slow lines.", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "copyJunctions", "OriginalName": "/SJ", "ParameterType": "switch", "Description": "Copy options \ncopy Junctions as junctions instead of as the junction targets.", "ParameterSetName": [ "Default" ] }, { "Name": "copySymbolicLinks", "OriginalName": "/SL", "ParameterType": "switch", "Description": "Copy options \ncopy Symbolic Links as links instead of as the link targets.", "ParameterSetName": [ "Default" ] }, { "Name": "MultiThread", "OriginalName": "/MT:", "ParameterType": "string", "Description": "Copy options \nDo multi-threaded copies with n threads (default 8). \nn must be at least 1 and not greater than 128. \nThis option is incompatible with the /IPG and /EFSRAW options. \nRedirect output using /LOG option for better performance.", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "dCopyFlags", "OriginalName": "/DCOPY:", "ParameterType": "string", "Description": "Copy options \nwhat to COPY for directories (default is /DCOPY:DA). \n(copyflags : D=Data, A=Attributes, T=Timestamps, E=EAs, X=Skip alt data streams).", "NoGap": true, "ParameterSetName": [ "Default" ] }, { "Name": "dNoCopy", "OriginalName": "/NODCOPY", "ParameterType": "switch", "Description": "Copy options \nCOPY NO directory info (by default /DCOPY:DA is done).", "ParameterSetName": [ "Default" ] }, { "Name": "NoOffload", "OriginalName": "/NOOFFLOAD", "ParameterType": "switch", "Description": "Copy options \ncopy files without using the Windows Copy Offload mechanism.", "ParameterSetName": [ "Default" ] }, { "Name": "Compress", "OriginalName": "/COMPRESS", "ParameterType": "switch", "Description": "Copy options \nRequest network compression during file transfer, if applicable.", "ParameterSetName": [ "Default" ] }, { "Name": "IoMaxSize", "OriginalName": "/IoMaxSize:", "ParameterType": "string", "NoGap": true, "Description": "Copy Throttling options \nFormat n[KMG] \nRequested max i/o size per {read,write} cycle, in n [KMG] bytes.", "ParameterSetName": [ "Default" ] }, { "Name": "IoRate", "OriginalName": "/IoRate:", "ParameterType": "string", "NoGap": true, "Description": "Copy Throttling options \nFormat n[KMG] \nRequested i/o rate, in n [KMG] bytes per second.", "ParameterSetName": [ "Default" ] }, { "Name": "Threshold", "OriginalName": "/Threshold:", "ParameterType": "string", "NoGap": true, "Description": "Copy Throttling options \nFormat n[KMG] \nFile size threshold for throttling, in n [KMG] bytes (see Remarks).", "ParameterSetName": [ "Default" ] }, { "Name": "ArchiveOnly", "OriginalName": "/A", "ParameterType": "switch", "Description": "File Selection Options \ncopy only files with the Archive attribute set.", "ParameterSetName": [ "Default" ] }, { "Name": "ArchiveOnlyReset", "OriginalName": "/M", "ParameterType": "switch", "Description": "File Selection Options \ncopy only files with the Archive attribute and reset it.", "ParameterSetName": [ "Default" ] }, { "Name": "IncludeAttributes", "OriginalName": "/IA:", "ParameterType": "string", "NoGap": true, "Description": "File Selection Options \nIncludes only files for which any of the specified attributes are set. The valid values for this option are: \nR - Read only \nA - Archive \nS - System \nH - Hidden \nC - Compressed \nN - Not content indexed \nE - Encrypted \nT - Temporary \nO - Offline", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeAttributes", "OriginalName": "/XA:", "ParameterType": "string", "NoGap": true, "Description": "File Selection Options \nExcludes files for which any of the specified attributes are set. The valid values for this option are: \nR - Read only \nA - Archive \nS - System \nH - Hidden \nC - Compressed \nN - Not content indexed \nE - Encrypted \nT - Temporary \nO - Offline", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeFileName", "OriginalName": "/XF", "ParameterType": "string", "Description": "File Selection Options \neXclude Files matching given names/paths/wildcards.", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeDirName", "OriginalName": "/XD", "ParameterType": "string", "Description": "File Selection Options \neXclude Directories matching given names/paths.", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeChanged", "OriginalName": "/XC", "ParameterType": "switch", "Description": "File Selection Options \neXclude Changed files.", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeNewer", "OriginalName": "/XN", "ParameterType": "switch", "Description": "File Selection Options \neXclude Newer files.", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeOlder", "OriginalName": "/XO", "ParameterType": "switch", "Description": "File Selection Options \neXclude Older files.", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeExtra", "OriginalName": "/XX", "ParameterType": "switch", "Description": "File Selection Options \neXclude eXtra files and directories. \nAn extra file is present in destination but not source; excluding extras will prevent any deletions from the destination.", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeLonely", "OriginalName": "/XL", "ParameterType": "switch", "Description": "File Selection Options \neXclude Lonely files and directories. \nA lonely file is present in source but not destination; excluding lonely will prevent any new files being added to the destination.", "ParameterSetName": [ "Default" ] }, { "Name": "IncludeSame", "OriginalName": "/IS", "ParameterType": "switch", "Description": "File Selection Options \nInclude Same files.", "ParameterSetName": [ "Default" ] }, { "Name": "IncludeTweaked", "OriginalName": "/IT", "ParameterType": "switch", "Description": "File Selection Options \nInclude Tweaked files. \nA Tweaked file is defined to be one that exists in both the source and destination, with identical size and timestamp, but different attribute settings.", "ParameterSetName": [ "Default" ] }, { "Name": "MaxBytes", "OriginalName": "/MAX:", "ParameterType": "string", "NoGap": true, "Description": "File Selection Options \nMAXimum file size - exclude files bigger than n bytes.", "ParameterSetName": [ "Default" ] }, { "Name": "MinBytes", "OriginalName": "/MIN:", "ParameterType": "string", "NoGap": true, "Description": "File Selection Options \nMINimum file size - exclude files smaller than n bytes.", "ParameterSetName": [ "Default" ] }, { "Name": "MaxAGE", "OriginalName": "/MAXAGE:", "ParameterType": "string", "NoGap": true, "Description": "File Selection Options \nMAXimum file AGE - exclude files older than n days/date.", "ParameterSetName": [ "Default" ] }, { "Name": "MinAge", "OriginalName": "/MINAGE:", "ParameterType": "string", "NoGap": true, "Description": "File Selection Options \nMINimum file AGE - exclude files newer than n days/date.", "ParameterSetName": [ "Default" ] }, { "Name": "MaxLastAccess", "OriginalName": "/MAXLAD:", "ParameterType": "string", "NoGap": true, "Description": "File Selection Options \nMAXimum Last Access Date - exclude files unused since n.", "ParameterSetName": [ "Default" ] }, { "Name": "MinLastAccess", "OriginalName": "/MINLAD:", "ParameterType": "string", "NoGap": true, "Description": "File Selection Options \nMINimum Last Access Date - exclude files used since n. \n(If n < 1900 then n = n days, else n = YYYYMMDD date).", "ParameterSetName": [ "Default" ] }, { "Name": "FATFileTime", "OriginalName": "/FFT", "ParameterType": "switch", "Description": "File Selection Options \nassume FAT File Times (2-second granularity).", "ParameterSetName": [ "Default" ] }, { "Name": "DST", "OriginalName": "/DST", "ParameterType": "switch", "Description": "File Selection Options \ncompensate for one-hour DST time differences.", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeSymbolic", "OriginalName": "/XJ", "ParameterType": "switch", "Description": "File Selection Options \neXclude symbolic links (for both files and directories) and Junction points.", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeSymbolicDir", "OriginalName": "/XJD", "ParameterType": "switch", "Description": "File Selection Options \neXclude symbolic links for Directories and Junction points.", "ParameterSetName": [ "Default" ] }, { "Name": "ExcludeSymbolicFiles", "OriginalName": "/XJF", "ParameterType": "switch", "Description": "File Selection Options \neXclude symbolic links for Files.", "ParameterSetName": [ "Default" ] }, { "Name": "IncludeModified", "OriginalName": "/IM", "ParameterType": "switch", "Description": "File Selection Options \nInclude Modified files (differing change times).", "ParameterSetName": [ "Default" ] }, { "Name": "Retries", "OriginalName": "/R:", "ParameterType": "string", "NoGap": true, "Description": "Retry Options \nnumber of Retries on failed copies: default 1 million.", "ParameterSetName": [ "Default" ] }, { "Name": "Wait", "OriginalName": "/W:", "ParameterType": "string", "NoGap": true, "Description": "Retry Options \nWait time between retries: default is 30 seconds.", "ParameterSetName": [ "Default" ] }, { "Name": "Registry", "OriginalName": "/REG", "ParameterType": "switch", "Description": "Retry Options \nSave /R:n and /W:n in the Registry as default settings.", "ParameterSetName": [ "Default" ] }, { "Name": "ToBeDefined", "OriginalName": "/TBD", "ParameterType": "switch", "Description": "Retry Options \nWait for sharenames To Be Defined (retry error 67).", "ParameterSetName": [ "Default" ] }, { "Name": "LowFreeSpace", "OriginalName": "/LFSM", "ParameterType": "switch", "Description": "Retry Options \nOperate in low free space mode, enabling copy pause and resume (see Remarks).", "ParameterSetName": [ "Default" ] }, { "Name": "LFSMFloor", "OriginalName": "/LFSM:", "ParameterType": "string", "NoGap": true, "Description": "Retry Options \nFormat n[KMG] \n/LFSM, specifying the floor size in n [K:kilo,M:mega,G:giga] bytes.", "ParameterSetName": [ "Default" ] }, { "Name": "LogL", "OriginalName": "/L", "ParameterType": "switch", "Description": "Logging Options \nList only - don't copy, timestamp or delete any files.", "ParameterSetName": [ "Default" ] }, { "Name": "LogX", "OriginalName": "/X", "ParameterType": "switch", "Description": "Logging Options \nreport all eXtra files, not just those selected.", "ParameterSetName": [ "Default" ] }, { "Name": "LogV", "OriginalName": "/V", "ParameterType": "switch", "Description": "Logging Options \nproduce Verbose output, showing skipped files.", "ParameterSetName": [ "Default" ] }, { "Name": "LogTS", "OriginalName": "/TS", "ParameterType": "switch", "Description": "Logging Options \ninclude source file Time Stamps in the output.", "ParameterSetName": [ "Default" ] }, { "Name": "LogFP", "OriginalName": "/FP", "ParameterType": "switch", "Description": "Logging Options \ninclude Full Pathname of files in the output.", "ParameterSetName": [ "Default" ] }, { "Name": "LogBytes", "OriginalName": "/BYTES", "ParameterType": "switch", "Description": "Logging Options \nPrint sizes as bytes.", "ParameterSetName": [ "Default" ] }, { "Name": "LogNS", "OriginalName": "/NS", "ParameterType": "switch", "Description": "Logging Options \nNo Size - don't log file sizes.", "ParameterSetName": [ "Default" ] }, { "Name": "LogNC", "OriginalName": "/NC", "ParameterType": "switch", "Description": "Logging Options \nNo Class - don't log file classes.", "ParameterSetName": [ "Default" ] }, { "Name": "LogNFL", "OriginalName": "/NFL", "ParameterType": "switch", "Description": "Logging Options \nNo File List - don't log file names.", "ParameterSetName": [ "Default" ] }, { "Name": "LogNDL", "OriginalName": "/NDL", "ParameterType": "switch", "Description": "Logging Options \nNo Directory List - don't log directory names.", "ParameterSetName": [ "Default" ] }, { "Name": "LogNP", "OriginalName": "/NP", "ParameterType": "switch", "Description": "Logging Options \nNo Progress - don't display percentage copied.", "ParameterSetName": [ "Default" ] }, { "Name": "LogETA", "OriginalName": "/ETA", "ParameterType": "switch", "Description": "Logging Options \nshow Estimated Time of Arrival of copied files.", "ParameterSetName": [ "Default" ] }, { "Name": "LOGFile", "OriginalName": "/LOG:", "ParameterType": "string", "NoGap": true, "Description": "Logging Options \noutput status to LOG file (overwrite existing log).", "ParameterSetName": [ "Default" ] }, { "Name": "LOGFileAppend", "OriginalName": "/LOG+:", "ParameterType": "string", "NoGap": true, "Description": "Logging Options \noutput status to LOG file (append to existing log).", "ParameterSetName": [ "Default" ] }, { "Name": "LOGFileUnicode", "OriginalName": "/UNILOG:", "ParameterType": "string", "NoGap": true, "Description": "Logging Options \noutput status to LOG file as UNICODE (overwrite existing log).", "ParameterSetName": [ "Default" ] }, { "Name": "LOGFileAppendUnicode", "OriginalName": "/UNILOG+:", "ParameterType": "string", "NoGap": true, "Description": "Logging Options \noutput status to LOG file as UNICODE (append to existing log).", "ParameterSetName": [ "Default" ] }, { "Name": "LogTEE", "OriginalName": "/TEE", "ParameterType": "switch", "Description": "Logging Options \noutput to console window, as well as the log file.", "ParameterSetName": [ "Default" ] }, { "Name": "LogNJH", "OriginalName": "/NJH", "ParameterType": "switch", "Description": "Logging Options \nNo Job Header.", "ParameterSetName": [ "Default" ] }, { "Name": "LogNJS", "OriginalName": "/NJS", "ParameterType": "switch", "Description": "Logging Options \nNo Job Summary.", "ParameterSetName": [ "Default" ] }, { "Name": "LogUnicode", "OriginalName": "/UNICODE", "ParameterType": "switch", "Description": "Logging Options \noutput status as UNICODE.", "ParameterSetName": [ "Default" ] }, { "Name": "JobName", "OriginalName": "/JOB:", "ParameterType": "string", "NoGap": true, "Description": "Job Options \ntake parameters from the named JOB file.", "ParameterSetName": [ "Default" ] }, { "Name": "JobSave", "OriginalName": "/SAVE:", "ParameterType": "string", "NoGap": true, "Description": "Job Options \nSAVE parameters to the named job file", "ParameterSetName": [ "Default" ] }, { "Name": "JobQuit", "OriginalName": "/QUIT", "ParameterType": "switch", "Description": "Job Options \nQUIT after processing command line (to view parameters).", "ParameterSetName": [ "Default" ] }, { "Name": "JobNOSD", "OriginalName": "/NOSD", "ParameterType": "switch", "Description": "Job Options \nNO Source Directory is specified.", "ParameterSetName": [ "Default" ] }, { "Name": "JobNODD", "OriginalName": "/NODD", "ParameterType": "switch", "Description": "Job Options \nNO Destination Directory is specified.", "ParameterSetName": [ "Default" ] }, { "Name": "JobIF", "OriginalName": "/IF", "ParameterType": "switch", "Description": "Job Options \nInclude the following Files.", "ParameterSetName": [ "Default" ] } ] } ] } |