如果声明无其他声明。我添加了else语句,现在如果不起作用,即使结果是真的

时间:2016-01-13 21:28:27

标签: powershell-v3.0

我已在下面列出了我的代码,如果有任何帮助我将不胜感激。我正在尝试让这个脚本查看用户名的文本文件,在目录中查找与用户名匹配的文件夹,如果存在则移动它们。没有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
    }
  }
}

0 个答案:

没有答案