If your images are correct, then $($row.company1) will contain '11', but the actual folder name is 'folder(11)'.
You need to look at the folder names.
if(($source).Name -contains $row.company1){
With robocopy, you need to put the folder names in both the source and destination parameters. I don't think that you want to just use $destination1 as the second parameters
Here is my reply to your first post.
I didn't fully test this, but give it a try. I added "/l" to robocopy so that it didn't spam your file system if the names were wrong. This assumes that you want to copy c:\Source\Folder11 to c:\Dest\Company1\Folder11.
$source = "C:\source"
$destination1 = "C:\dest\company1\"
$destination2 = "C:\dest\company2\"
$csv = import-csv "C:\Scripts\copytask.csv"
$srcFolders = Get-ChildItem -Path $source
foreach ($folder in $SrcFolders) {
foreach($row in $csv) {
if($Folder.name -match $row.company1 ) { # does 'folder(11)' contain '11'?
robocopy "C:\source\$($Folder.Name)" "$destination1$($folder.Name)" /E /L
}
}
}