这是我正在进行的情况。
我有一个包含用户个人资料的共享文件夹。有些配置文件有一个像username.text1.v2这样的文件夹,其他的有username.text2.v2
我正在尝试编写一个能够区分两个文件夹之间区别的powershell脚本......这是我的代码
$ParentDir = Get-ChildItem "\\blah\profiles" | Where-Object {$_.PSIsContainer -eq $True}
ForEach ($SubDir in $ParentDir)
{
#$SubDirName = $SubDir.Name
If ($SubDir.Name -like "*text1*")
{
$firstFolder = $SubDir.Name
}
If ($SubDir.Name -like "*text2*")
{
$secondFolder = $SubDir.Name
}
$secondFolder
}
当我输出代码时,我得到了所有的文件夹,但是同一个文件夹有几个副本,三元组甚至四倍,并且它是随机的。有些文件夹显示一个,其他文件夹多次显示。我不确定为什么它以这种方式输出,因为实际目录中没有任何重复。
我似乎无法弄清楚为什么会这样?提前谢谢!
答案 0 :(得分:0)
看看你的循环中发生了什么。让我们假设以下文件夹结构:
使用您的脚本将在您的循环中发生:
要摆脱这种行为,你应该初始化/清除你的变量,有些方法可以做到这一点:
$firstfolder = ""
$secondfolder = $null
Clear-Variable -Name $thirdfolder