我正在编写我的第一个 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