繁体   English   中英

Powershell脚本从列表中删除文件夹

[英]Powershell script to delete folders from list

为了解决这个问题, PowerShell脚本从列表中删除了文件并输出了已删除文件的列表 ,我正在尝试完成类似的工作。 我有一个用户名列表,该用户名与我们的网络文件服务器上某些文件夹的名称匹配。 并非列表中的所有用户名都会创建主文件夹,有些可能根本不存在。

我的伪代码看起来像这样:

  • 加载用户列表
  • 对于每个用户,请检查他们是否具有目录
  • 如果他们有目录,则强制递归删除它

这是我一直未成功使用的一些代码:

$Termed_Users = "C:\Data\Termed_Users.csv" 
$Home_Folders = "X:"

$UserList = Import-Csv $Termed_Users

$UserList | ForEach-Object {    
   $ID = $_.ID  
   $User_Home = $Home_Folders + "\" + $_.ID }

If ( Test-Path $User_Home ) { Remove-Item -Recurse -Force $User_Home }

问题出在您的ForEach-Object管道中。

您将不断重新分配$User_Home变量,并在尝试删除之前循环浏览整个列表。 将删除的内容移动到该脚本块中:

$UserList | ForEach-Object {    
   $ID = $_.ID  
   $User_Home = $Home_Folders + "\" + $_.ID
   Remove-Item -recurse -force $User_Home -erroraction silentlycontinue }

我也删除了测试,因为这无关紧要-您将尝试全部删除它们并忽略错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM