使用Powershell删除批量网络文件夹

时间:2013-04-26 17:31:43

标签: powershell

Powershell noob在这里。我基本上想做的是使用脚本删除旧用户H盘。我有一个CSV文件,如下所示: -

Folder Path
u:\users\xxx1
u:\users\xxx2

等等。

这些路径位于nas服务器上。我想从csv读取路径,如果文件夹存在则删除它。我尝试了几件事无济于事。

Set-Location "\\XXX-nas1\users"
$TargetFolder = Import-Csv H:\folderdeletetest.csv
ForEach ($Folder in $Folders) { 

Remove-Item -Path $Folder.Folder -Recurse -Force
} 

我想知道我是否能得到一些帮助。这将是高度赞赏的。干杯 问候 WVC


Csv如下所示:

FolderPath
u:\users\xxx1
u:\users\xxx2

代码:

Set-Location "\\xxx-nas1\users"
$TargetFolder = Import-Csv c:\folderdeletetest.csv
ForEach ($folderpath in $TargetFolder) { 

    Remove-Item -Path $folderpath.Folder -Recurse -Force
} 

目标是比较网络共享中是否存在csv中的文件夹。如果存在,则删除它。如果通过没有绝对路径的文本文件(即仅在文本文件中的foldername)更简单。我可以改变它。 感谢

1 个答案:

答案 0 :(得分:0)

如果要在尝试删除文件夹之前测试文件夹是否存在,请使用test-path

并使用$folderpath.FolderPath访问csv文件中的FolderPath列。

test-path $folderpath.FolderPath

但我认为你也可以继续remove-item。如果路径不存在,则只会返回错误。