我已在下面列出了我的代码,如果有任何帮助我将不胜感激。我正在尝试让这个脚本查看用户名的文本文件,在目录中查找与用户名匹配的文件夹,如果存在则移动它们。没有else
语句,一切正常。当我添加else
语句以输出“No Folders Found”时,意味着if
语句返回false。即使文件夹存在,也会跳过if
语句。
$text = Get-Content "\\servername\sharename\H Drive Moves\HDrive_Folders.txt"
$Dir = Get-Childitem "\\servername\sharename"
$FromDir = "\\servername\sharename"
$ToDir = "\\servername\sharename"
$Transcript = "\\servername\c$\Scripts\Output\Moves_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).txt"
$FNF = ' "NO FOLDERS FOUND" '
$DelMsg = ' "DELETED FROM HOME SUCCESSFULLY" '
$MoveMsg = ' "MOVED TO FUF SUCCESSFULLY" '
foreach ($item in $text) {
foreach ($folder in $Dir) {
if ($folder -like $item) {
Start-Transcript -Path $Transcript -Append
Copy-Item $FromDir\$item $ToDir -Recurse -Force
Write-Host "$item $MoveMsg"
Remove-Item "$FromDir\$item" -Recurse -Force
Write-Host "$item $DelMsg"
Stop-Transcript
} else {
Start-Transcript -Path $Transcript -Append
Write-Host $FNF
Stop-Transcript
}
}
}