problem in my program, get fault

    if($file -match '^(I[A-Z]\d{6}_' | Foreach { $Matches[0] })

Hi we have a ERP system that looks into a map where are shortcuts to documents. the map of documents is now to big a lot of documents. I want to copy some documents to a higher map 2018. and i want to restore the shortcuts. my orders are beginning with a I and then a letter. i get a fout in the position above


## Hugo Maris VDL Industrial Products
## 11-2018
echo "------Logistix Data Robot By Hugo Maris------"


$plotlocation ="C:\test\2018\";
$shortcutlocation= "C:\test\dosyslog\";

function CreateShortcut {
    Param($sourcefile, $destenationpath)
    echo "--CreateShortcut()--";
    $shortcutpath = $destenationpath + ".lnk";
    if (!(Test-Path  $shortcutpath)) {
        echo "s> s> $sourcefile"; 
        echo "s> d> $shortcutpath"; 
        $Shell = New-Object -ComObject ("WScript.Shell");
        $ShortCut = $Shell.CreateShortcut($shortcutpath);
    echo "--!CreateShortcut()--";

 Get-ChildItem $plotlocation   
 Foreach-Object { 
    $file = $_.Name.toupper()
    if($file -match '^(I[A-Z]\d{6}_' | Foreach { $Matches[0] })
        $folder = "VerkoopOrder\document\";
        $logistixId = $Matches[0]
        echo "Move to artikel $logistixId"  
        echo $file
        $filelocation = $_.FullName;
        $destenationpath = $shortcutlocation +  $folder + $logistixId + $file;
        echo $filelocation
        echo $shortcutlocation

        CreateShortcut $filelocation $destenationpath ;

echo "-------------Einde script-------------";