Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Удаление файлов папок из каталога

Ответить
Настройки темы
PowerShell - Удаление файлов папок из каталога

Новый участник


Сообщения: 47
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: JimmLight
Дата: 28-01-2020
Скрипт на очистку каталогов (список путей к папкам указан в "clear.txt"). Список периодически пополняется
Далее, все папки, которые очищаются- записываются в log - C:\Temp\Success_delete.txt (формата "дд.мм.гггг | Success delete | \\share\blabla\")
Папки, которые не удалось очистить - записываются в log - C:\Temp\Fail_delete.txt (формата "дд.мм.гггг | Fail delete | \\share\blabla\")

Код: Выделить весь код
import-csv C:\Temp\clear.txt | % {
    $path_change=$_.pathchange;
    $DST = Get-Date -Format "dd/MM/yyyy"
 Remove-Item $path_change -Recurse -Force -ErrorAction SilentlyContinue -Verbose
    if (Test-Path $path_change){
        "Fail $path_change" | out-file C:\Temp\Fail_delete.txt -Append
    }
    else{
        "$DST Success delete $path_change" | out-file C:\Temp\Success_delete.txt -Append
    }
}
Подсобите с добавлением проверки: Если каталог пустой, то писать в log.txt [формата "дд.мм.гггг | Empty folder | \\share\blabla\"

Отправлено: 12:55, 27-01-2020

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


В целом как-то так, подредактируйте под себя.
Код: Выделить весь код
$date = get-date -f "dd.MM.yyyy"
$dirs = dir D:\temp -Directory
foreach ($dir in $dirs) {
if ((dir $dir.fullname).count -eq 0) {
"$date | Empty folder | $($dir.FullName)" |Out-File d:\temp\log.txt -Encoding utf8 -Append
}
}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 10:06, 28-01-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 47
Благодарности: 0

Профиль | Отправить PM | Цитировать


Сделал так:

Код: Выделить весь код
import-csv C:\Temp\clear.txt | % {
$path_change=$_.pathchange;
$date = get-date -f "dd.MM.yyyy"
Remove-Item $path_change -Recurse -Force -ErrorAction SilentlyContinue -Verbose
foreach ($path_change in $path_changes) {
                                                if ((dir $path_change.fullname).count -eq 0) {
                                                        "$date | Empty folder | $($path_change.FullName)" |Out-File C:\Temp\log.txt -Encoding utf8 -Append
                                                                                                  }
                                                if (Test-Path $path_change){
                                                        "Fail $path_change" | out-file C:\Temp\Fail_delete.txt -Append
                                                                                        }
                                                else{
                                                        "$DST Success delete $path_change" | out-file C:\Temp\Success_delete.txt -Append
                                                       }
                                                            }
                                                                    }
Но работает ни как надо.
Наверное я как то неверно исправил. Посодействуйте пожалуйста.
Т.е. нужно, чтобы создавалось три лога: 1. Если из папки удалились файлы; 2. Если папки пусты; 3. Если не удалось удалить из какой то папки какой либо файл.

Отправлено: 11:48, 28-01-2020 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Удаление файлов папок из каталога

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - удаление файлов из каталога FatalR Скриптовые языки администрирования Windows 3 28-10-2013 13:50
Любой язык - Сравнение списка файлов и каталога с файлами с копированием файлов из каталога jastreb83 Скриптовые языки администрирования Windows 0 10-04-2013 09:56
CMD/BAT - [решено] удаление файлов и папок из папки Goodkid Скриптовые языки администрирования Windows 6 28-07-2012 20:22
Прочие - Программа (скрипт) удаление из заданного каталога заданных файлов __sa__nya Программное обеспечение Windows 1 20-11-2008 19:02
Удаление всех папок и файлов из папки c:\Temp DIKPro Microsoft Windows NT/2000/2003 10 15-08-2006 16:20




 
Переход