How do I remove files with specific extensions and folders in a foreach loop?

I'm working on a VM cleanup tool script in Windows PowerShell (ps1). My new version doesn't work properly as expected. I can't understand, why the array $vm doesn't iterate for every vm and delete all the temporary files and folders.

$vm = @("vmName1", "vmName2", "etc.")     
$DriveLetter = Read-Host "Attach the drive letter (ex.: 'D:')"
$vmLocation = Read-Host "Attach the folder, where all vms are stored (ex.: '1_work')"

foreach ($currentVM in $vm) {
    Get-ChildItem "$DriveLetter\1_vms\$currentVM" -Recurse -Force -Include *.nvram, *.vmsd, *.vmxf, *.log |
        Remove-Item -Recurse -Force
    Remove-Item -Recurse -Force $DriveLetter\$vmLocation\$currentVM\$currentVM.vmx.lck
    Remove-Item -Recurse -Force $DriveLetter\$vmLocation\$currentVM\$currentVM.vmdk.lck
    echo "$currentVM is clean"

It should pop if the first listing value of the array $vm is clean, but it iterates every array listing in one line, that doesn't make sense...any suggestions or improvement?