Quick and simple would be:
$csvFile = [Path To File].csv
if (!Test-Path $csvFile) {
$csvData = Import-CSV $csvFile
foreach ($line in $csvData) {
# Where each $line is a VM name.
Get-VM $line | Stop-VM -confirm:$false
}
}
Stop-VM won't move on until it's complete, and will give you a progress bar on top automatically.
I usually throw in a lot more checks and balances in scripts like this, but that's your call.