Powershell noob здесь. В основном я хочу удалить старые диски пользователей с помощью скрипта. У меня есть файл CSV, который выглядит следующим образом: -Удаление папки массовой сети с использованием Powershell
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 существует на сетевом ресурсе. Если он существует, удалите его. Если его проще сделать с помощью текстового файла без абсолютного пути (например, имя папки только в текстовом файле). Я могу изменить это на это. Спасибо
В чем проблема, с которой вы сталкиваетесь? Он читает файл? Итерирование над его содержимым? Или удаление папок? –
Привет, Nate, проблема у меня есть, я не знаю, как проверить, существует ли папка в csv в фактическом местоположении и удалять ее. –
Первое, что я хотел бы сделать, это убедиться, что вы правильно прочитали путь из csv , В вашем цикле 'foreach' сделайте' Write-Host $ Folder', чтобы убедиться, что это действительно то, что вы думаете. ('$ Folders' никогда не назначался в списке кода, который вы перечисляете, поэтому ваша проблема может быть не такой, как вы думаете.) После того, как вы получили правильные пути, я думаю, что ваш' Remove-Item' вызов должен работать. –