Get-ChildItem找不到一个特定的目录?

时间:2018-07-26 06:53:02

标签: powershell get-childitem

我正在编写一个PowerShell脚本,该脚本应该查看目录,按名称(编号名称)对子级进行排序,并检查其中是否有特定文件。如果存在,则应将其复制到某个位置,否则应将其复制到下一个。到目前为止,这是我的代码:

#[...]
$notExist = $true
#$LatestCiClient = [some directory from earlier in the script]
$buildDirectories = Get-ChildItem -Path $LatestCiClient | Sort Name -Descending

while ($notExist) {
    $currentDir = $buildDirectories | Select-Object -First 1
    $assembliesDir = Get-ChildItem -Path $currentDir.FullName -Include Desktop-Assemblies #Breakpoint
    $script:exe = Get-ChildItem -Path $assembliesDir -Include SomeFile.exe | Select -First 1
    if ($Script:exe.Exists) {
        $notExist = $false
    } else {
        if ($buildDirectories.Count -gt 0) {
            $buildDirectories = $buildDirectories | Select -Skip 1
        } else {
            $script:NoneFound = $true
            $script:notExist = $false
        }
    }
}
#[more Powershell that is supposed to copy $script:exe] 

我正在获取编号目录($buildDirectories),在调试器中可以看到整个列表。

我输入while block (breakpoint is set at "#Breakpoint"), select the first directory to check ( $ currentDir`,它又在那里并且正确),并寻找一个名为“ Desktop-Assemblies”的文件夹。

我正在查看它,现在在资源管理器中,该文件夹在那里,它已经填充,它没有隐藏(它是只读的,但这没关系吗?),我什么也没做在脚本中做了几次-什么也没做。 $assembliesDir为空。

我尝试使用“桌面程序集”,尝试了Desktop *,没有使用-Include。如果我使用$currentDir会说

  

找不到路径[WeirdPath],因为它不存在

奇怪的路径是我的$currentDir的FolderName,但其余路径是C:\ Users \ MyUserName。

如果我使用$currentDir.FullName,它将找到所有目录,包括我要查找的目录。我可能应该补充一点,正在搜索的整个目录在另一台计算机上,它是网络驱动器。

1 个答案:

答案 0 :(得分:1)

您使用了吗?

Get-ChildItem -Path $currentDir.FullName | Where-Object {$_.Name -eq 'Desktop-Assemblies'}