Перемещать файлы которые старше 15 дней
Не на что не притендую, просто может кому то пригодиться, а то тут задача прилетела.
Создал скрипт который будет перемещать файлы, которые старше 15 дней, в другую папку.
Просто создайте ps1 файл.
Настройте задание в планировщике задач (Task Scheduler) Windows для запуска этого BAT файла раз в 15 дней:
1) Откройте "Планировщик задач".
2) Создайте новую задачу.
3) В разделе "Триггеры" добавьте новый триггер с расписанием "Каждые 15 дней".
4) В разделе "Действия" добавьте новое действие "Запустить программу" и укажите путь к вашему ps1 файлу.
5) Сохраните задачу.
Сам файл.
# Определяем исходную папку, целевую папку и путь к файлу журнала
$source = "D:\Pavel\test"
$destination = "D:\Pavel\servers"
$log = "D:\Pavel\move_log.csv"
# Перемещаем файлы старше 15 дней из исходной папки в целевую папку, сохраняя структуру папок
Get-ChildItem -Path $source -Recurse | Where-Object {($_.LastWriteTime -lt (Get-Date).AddDays(-15))} | ForEach-Object {
$destPath = $_.FullName -replace [regex]::Escape($source), $destination
$destFolder = Split-Path $destPath -Parent
if (!(Test-Path -Path $destFolder)) {
New-Item -ItemType Directory -Path $destFolder -Force
}
Move-Item -Path $_.FullName -Destination $destPath -Force
}
# Добавляем заголовки в журнал
Add-Content -Path $log -Value "Source, Destination, Date Moved"
# Добавляем записи о перемещенных файлах в журнал
Get-ChildItem -Path $destination -Recurse | ForEach-Object {
$sourcePath = $_.FullName -replace [regex]::Escape($destination), $source
$logData = $sourcePath + "," + $_.FullName + "," + (Get-Date).ToString('yyyy-MM-dd')
Add-Content -Path $log -Value $logData
}
Просмотр картинок на сайте!
На примере своей работы!
Хотел бы немного подискутировать и высказать своё мнение относительно просмотра работ на сайте. Дело в том, что скрипт показа картинок так настроен, что вытягивает картинку на высоту монитора, если смотреть на компъютере, отсюда выходит так, что картинка, если оригинал к примеру меньше, но чёткость и резкость отличная, то скрипт вытягивает её с большим размером и резкость и качество страдают. Автоматически расстягивает на высоту монитора, если картинка меньше, или больше. Если больше, то качество не страдает. Я понимаю о чём говорю и знаком с этим скриптом. Очень мне это сразу не понравилось, страдает качество при просмотре, можете сравнить, я для примера разместил картинку оригинал и то, что выходит для просмотра, мыло одним словом и это не ГУТ! Опять же при открытии и этой картинки, она меняет качество и мылит, можно конечно подрасчитать и показать более чётко, но думаю все всё заметят, можете сравнить, что выходит у вас на вашей работе и свою оригинальную, всё будет чётко видно, надо менять и докручивать код! ИМХО!
А что думаете вы, друзья?
Поиграем в бизнесменов?
Одна вакансия, два кандидата. Сможете выбрать лучшего? И так пять раз.
ГуглТаблицы - раскраска дубликатов ячеек, строк, копирование дубликатов на новый лист
Ссылка на гуглтаблицу: https://docs.google.com/spreadsheets/d/1v5gQJdzJ32s6vVSdFeoh... Создайте себе копию. Перед запуском скриптов гугл задаст несколько вопросов.
Ответ на пост «Борьба с госовухами»
Ответ на пост «Борьба с госовухами»
Внесу ясность откуда ростут ноги.
Большинство женщин в декрете, вопреки сложившемуся мнению что ничего не делают, делают на самом деле дохрена и больше, особенно если сидять с несколькими детьми.
И им некогда сидеть пиреписываться, основной способ общения - это голосовые сообщения, преимущественно в вотсапе.
Собственно все, причина банальна. А дальше это перекочевывает в общение со всеми.
И поверьте, если они не будут хотя бы так общяться, то кукуха поедет очень быстро. Так как декрет не слабо так ограничивает круг общения.
Самого напрягает когда жена голосовухи записывает. Там где инфы на две строчки, растягивает на пару минут. Постепенно приучаю ее писать кратко по делу если что-то нужно, а общую инфу прослушиваю между делами.
Готовы к Евро-2024? А ну-ка, проверим!
Для всех поклонников футбола Hisense подготовил крутой конкурс в соцсетях. Попытайте удачу, чтобы получить классный мерч и технику от глобального партнера чемпионата.
А если не любите полагаться на случай и сразу отправляетесь за техникой Hisense, не прячьте далеко чек. Загрузите на сайт и получите подписку на Wink на 3 месяца в подарок.
Реклама ООО «Горенье БТ», ИНН: 7704722037
Получение IP -, MAC –адресов, имени сетевого интерфейса с помощью Python
Порою возникают ситуации, когда необходимо использовать в скрипте Python IP-адрес используемый активной сетевой картой, которая смотрит в Интернет, узнать MAC-адрес этой карты и имя сетевого соединения. К сожалению, функций из коробки пока что не наблюдается. Есть сторонние модули, которые позволяют узнать MAC-адрес, например getmac, но в качестве параметров в них нужно также передавать или IP-адрес, или имя соединения. Но, что, если их нужно определять программно и вводить вручную не вариант?
Я нашел для себя решение, которое работает, но требует тестирования на большом количестве систем. Хотя, думаю, что на большинстве ОС семейства Windows или Linux оно будет работать.
Импорт библиотек
В данном решении не требуется устанавливать сторонние библиотеки. Необходимо лишь импортировать в скрип те, что нужны для его работы. Выполним их импорт:
Получение IP-адреса активной сетевой карты
Уже очень давно, около 15 лет назад на Stack Overflow был дан ответ по поводу получения «основного», имеющего маршрут по умолчанию, IP-адреса. Как описывает его автор скрипта, он работает под всеми основными ОС: Windows, Linux, OSX. Вот ссылка на данный пост.
Несмотря на то, что скрипту уже довольно много лет, он работает до сих пор. Потому, вместо изобретения велосипеда я использую его, за неимением лучшего. Тем более что он ни разу не давал сбоев. Вот сам скрипт:
Теперь, когда мы определились с тем, каким способом будем получать IP-адрес, приступим к написанию скрипта для получения IPv6-, MAC- адресов, а также имени сетевого интерфейса.
Получение информации об активном сетевом интерфейсе
Создадим класс NetInfo,который при инициализации будет получать необходимые данные в зависимости от операционной системы. Здесь мы определяем платформу с помощью модуля system библиотеки platform и в зависимости от этого запускаем тот или иной скрипт.
Двигаемся дальше. Создадим функцию для получения локального IP-адерса и объявим ее статическим методом, так как в ней не используются переменные класса.
Напишем функцию mac_iface_win(self) в которой выполним получение нужных нам параметров. Для этого мы будем использовать возможности командной строки Windows, с частности инструмент командной стоки wmic. В частности будем использовать псевдоним NICCONFIG, который используется для управления сетевыми адаптерами. Отфильтруем только активные сетевые адаптеры. А их может быть в системе несколько, включая виртуальные: IPEnabled=true . После этого получим MAC – и IP – адреса используя GET MACAddress, IPAddress /FORMAT:csv, с указанием вывода полученных значений в формате csv для того, чтобы нам было проще их распарсить.
Вот полный вид данной команды:
wmic NICCONFIG WHERE IPEnabled=true GET MACAddress, IPAddress /FORMAT:csv
После того, как мы получим список активных сетевых адаптеров, поитерируемся по нему в цикле и проверим, есть ли в данном списке адаптер, IP-адрес которого равен полученному ранее локальному адресу. Если есть, забираем MAC-адрес, а также IPv6 адрес, если он не отключен в системе.
После того, как мы получим необходимые данные, выполним команду getmac /FO csv /NH /V с помощью которой получим список сетевых интерфейсов. Также в цикле проитерируемся по нему и будем проверять, есть ли уже полученный MAC-адрес в строке с параметрами интерфейса. Если есть, забираем название сетевого интерфейса.
Если в предыдущей функции мы получили данные для сетевого интерфейса в ОС Windows, то следует также написать аналогичную функцию и для Linux. Поэтому создадим функцию mac_iface_lin(self). В ней кода будет поменьше, так как в командах Linux содержится больше информации в одном месте и ее легче распарсить. Команда, которую мы будем использовать выглядит следующим образом:
ip -h -br a | grep UP
Здесь мы получим название сетевого интерфейса и IPv6-адрес. В Linux данный адрес можно получить, даже если он отключен в настройках адаптера.
После этого выполним похожую команду, но уже отфильтруем из ее вывода MAC-адрес:
ip a | grep ether | gawk '{print $2}'
Осталось только свести написанный код, если вы этого еще не сделали воедино.
Итак, продолжим. Полный код скрипта выглядит следующим образом:
Теперь необходимо протестировать его в операционных системах. В данном случае у меня доступны две системы: Windows 10 и Linux Mint.
Создадим в данном скрипте вызов нашего класса и выведем в терминал полученные параметры:
Для начала, запустим в ОС Windows:
А теперь то же самое в Linux Mint:
Как видим, скрипт справляется со своей работой. Для чего он может пригодиться? Ну, например, для автоматической установки активного сетевого интерфейса по умолчанию в Scapy при прослушивании пакетов с активного сетевого интерфейса. Но о Scapy поговорим немного позже.
Спасибо за внимание. Надеюсь, данная информация будет вам полезна