Powershell Directory.Name 返回尾随分隔符吗?

Powershell Directory.Name 返回尾随分隔符吗?

我正在编写我的第一个 powershell 脚本:

foreach ($UserDir in Get-ChildItem -Path $NetworkLocation) 
{
    # if the item is a directory, then process it.
    if ($UserDir.Attributes -eq "Directory")
    {
        $Dir = $UserDir.Name
        Remove-Item $Dir +"*" -recurse
    }
}

$Dir 是否以尾随的“\”结尾,以便我只需添加 * 即可删除该目录中的所有文件?

答案1

不,它不会提供尾随斜杠。

PS C:\> $dirlist=get-childitem c:\
PS C:\> $dirlist[4].name
PerfLogs
PS C:\> 

它也不会提供完整路径:

PS C:\> $dirlist=get-childitem C:\windows
PS C:\> $dirlist[3].name 
assembly
PS C:\> $dirlist[3].fullname
C:\Windows\assembly

这是通过“fullname”提供的,它也没有提供尾部斜杠。但是,Remove-Item 不需要斜杠!

总之,要删除目录中的所有文件及其子目录中的所有文件,请使用:

Remove-Item $Dir -recurse

在哪里

$Dir = $UserDir.Fullname

相关内容