Robocopy GUI tool leverages the command-line utility Robocopy (Robust File Copy – introduced with Windows Server 2003 Resource Kit).
Robocopy best features include the option to copy file attributes along with the NTFS permissions, mirror the content of an entire folder hierarchy across local volumes or over a network excluding certain file types, copying files above or below a certain age or size, monitor the source location for changes, and giving detailed report with an option to output the status to a log file.
In addition, PowerShell GUI tool is making the process easy to configure and control providing ability to set up predefined options, one-click access to help and log file, and instant error analysis.

Features:
-supports spaces in the file name
-supports long paths
-shows Robocopy help
-recommended options
-ability to enter advanced options
-enable/disable file logging
-generates log file name (current date + source folder name)
-opens the current job logfile in notepad
-parses the current log file and shows ERROR messages
Screenshots:
Download:
PowerShell Robocopy GUI Update (PowerCopy 1.0.1)
The Code
To set up your preferable Robocopy options jump to check boxes section (line 173 – 457) and find the option you want to modify. Change theĀ $checkbox.Checked value from $False to $True
To uncheck the recommended options lines:
430 – 457
If you want to change the log file name modify lines:
97,118 and 126
Code snippet:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
#Robocopy Help function function robocopyhelp { $help = robocopy.exe /? $outputBox.text = $help |Out-String } #Open log function function openlog { $logfile = $InputLogFile.Text + "\" + ((Get-Date).ToString('yyyy-MM-dd')) + "_" + $InputSource.Text.Split('\')[-1].Replace(" ","_") + ".txt" if(!(Test-Path $logfile)){$outputBox.text = "There is no logfile for the current job."} else {$openlog = notepad.exe $logfile} } #Show Errors function function showerrors { $logfile = $InputLogFile.Text + "\" + ((Get-Date).ToString('yyyy-MM-dd')) + "_" + $InputSource.Text.Split('\')[-1].Replace(" ","_") + ".txt" if (!(Test-Path $logfile)) {$outputBox.text = "There is no logfile for the current job."} else {$logcontent = Get-Content $logfile if ($errors = $logcontent | Select-String -Pattern "ERROR " -Context 0,1 |Out-String) {$outputBox.text = $errors} else {$outputBox.text = "No errors found."} } } #checkbox group boxes #copy options group box $copyGroupBox = New-Object System.Windows.Forms.GroupBox $copyGroupBox.Location = New-Object System.Drawing.Size(210,15) $copyGroupBox.size = New-Object System.Drawing.Size(230,110) $copyGroupBox.text = "Copy Options" $Form.Controls.Add($copyGroupBox) #file selection options group box $FileSelectionGroupBox = New-Object System.Windows.Forms.GroupBox $FileSelectionGroupBox.Location = New-Object System.Drawing.Size(460,15) $FileSelectionGroupBox.size = New-Object System.Drawing.Size(200,110) $FileSelectionGroupBox.text = "File Selection Options" $Form.Controls.Add($FileSelectionGroupBox) #recommended options group box $RecommendedGroupBox = New-Object System.Windows.Forms.GroupBox $RecommendedGroupBox.Location = New-Object System.Drawing.Size(460,140) $RecommendedGroupBox.size = New-Object System.Drawing.Size(200,50) $RecommendedGroupBox.text = "Recommended Options" $Form.Controls.Add($RecommendedGroupBox) #logging options group box $LoggingGroupBox = New-Object System.Windows.Forms.GroupBox $LoggingGroupBox.Location = New-Object System.Drawing.Size(460,245) $LoggingGroupBox.size = New-Object System.Drawing.Size(200,70) $LoggingGroupBox.text = "Logging Options" $Form.Controls.Add($LoggingGroupBox) #end group boxes |



I dont think the code snippet has all of the code listed. Your instructions indicate lines that do not exist on the code snippet
Greetings Mike,
Currently I’m improving the functionality of the tool and I’ve removed the download link for now.
Hello HAH,
Looks like you have some great code out there. Do you have an idea when Powershell Gui for Robocoby will be available for download? I really like all the options and clean interface from the screenshots. Looking forward to giving it a try!
Greetings Marcus,
I’m glad you like the tools I’m working on.
Robocopy tool needs few mandatory (in my opinion) improvements. Right now I’m implementing a “Save Options” button. This will save your preferred settings from the options boxes. Also it needs to have adjustable values for /MT, /R and /W switches.
Give me few days and I will send you the script via email.
I made a Few Additions to you Code That I thought were helpful
1.0.3 Updates:
-added ToolTips on options
-added Name to each robocopy switch
-changed -XC TO -XCT
-moved all form design to the end
-added Select folder function to pick folder to all textboxes that need it
-added a text box that will give the actual script that is generated
I can not post the script here how can I get it to you to post?
Hi
Great tool, any chances to get the latest version email to me?
cafergicam@hotmail.co.uk
Regards,
Carlos