Powershell Paralell Processing

Hi All,

I am trying to copy files using emcopy - similar to robocopy, via powershell parallel processing, I have written the two scripts below and they both fail. one is with background jobs and the other via workflows. Please help!

workflow copyfiles {


$copy=@(@{source="\\sreadvfile01\c$\testemcopy";destination="\\W10000601\C$\testemcopy_1"}, @{source="\\sreadvfile02\c$\testemcopy";destination="\\W10000601\C$\testemcopy_1"},@{source="\\sreadvfile03\c$\testemcopy";destination="\\W10000601\C$\testemcopy_1"}) 

ForEach -Parallel  ($m in $copy) {

$DateFormat = 'yyyy-MM-dd_HH-mm'

write-host  "Copying $($m['source']) to $($m['destination'])"

.\emcopy64.exe $($m['source']) $($m['destination']) /o /s /de /secforce /cm md5 /r:1 /w:1 /c /log:$($m['destination'])_$($DateFormat).txt


}



}

}

Open in new window



$copy=@(@{source="\\sreadvfile01\c$\testemcopy";destination="\\W10000601\C$\testemcopy_1"}, @{source="\\sreadvfile02\c$\testemcopy";destination="\\W10000601\C$\testemcopy_1"},@{source="\\sreadvfile03\c$\testemcopy";destination="\\W10000601\C$\testemcopy_1"}) 

ForEach  ($m in $copy) {

$DateFormat = 'yyyy-MM-dd_HH-mm'



start-job -scriptblock {

write-host  "Copying $($m['source']) to $($m['destination'])"

.\emcopy64.exe $($m['source']) $($m['destination']) /o /s /de /secforce /cm md5 /r:1 /w:1 /c /log:$($m['destination'])_$($DateFormat).txt

} -name CopyJob_$m | out-null


}

Open in new window


Thank you in advance.
Kelly GarciaSenior Systems AdministratorAsked:
Who is Participating?
 
Britt ThompsonSr. Systems EngineerCommented:
You need to add your command parameters to a separate variable and pass them like so -

$ArgList = "$($m['source']) $($m['destination']) /o /s /de /secforce /cm md5 /r:1 /w:1 /c /log:$($m['destination'])_$($DateFormat).txt"
Start-Process -FilePath .\emcopy64.exe -ArgumentList $ArgList -Verb RunAs

Open in new window

0
 
Shaun VermaakTechnical Specialist/DeveloperCommented:
I know this is tagged as PowerShell but if you want you can use my CommandThreader tool
https://www.experts-exchange.com/articles/30139/How-to-thread-single-threaded-applications.html
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.