Как стать автором
Обновить
15.47

PowerShell *

Расширяемое средство автоматизации от Microsoft

Сначала показывать
Порог рейтинга

Простейший Windows-скрипт для поиска дубликатов файлов в папке.

Проблема: в папке с бэкапами фоток скопилось много дубликатов под разными названиями.

Я не нашёл способа корректно эти дубликаты удалить средствами Windows, а ставить что попало на компьютер ради такой ерунды тоже не хотелось. Поэтому написал очень простой скрипт на Powershell. Нужно поместить его в нужную папку и в контекстном меню выбрать "Выполнить с помощью PowerShell". Конечно, сперва проверьте содержимое файла от неизвестного издателя (меня).

Скрипт сравнит размеры всех файлов и, при равенстве размеров, сравнит md5-суммы. Если и размер, и контрольная сумма совпадают, то останется файл с наименьшей длиной названия, а все его дубликаты будут перемещены в корзину.

Результат выполнения
Результат выполнения

Код доступен на GitHub.

Теги:
Всего голосов 5: ↑5 и ↓0+6
Комментарии0

Простейший скрипт на PowerShell для загрузки файлов

TL;DR спиз написал скриптик для загрузки файлов, держите версию для PowerShell

Дисклеймеры:
Общий дислеймерО личности автораОтказ от ответственностиОб использовании ChatGPT

Синопсис:
Набросал скриптик для загрузки файлов на PowerShell. Скрипт простейший, взят с просторов StackOverflow и почти не имеет обвязок.

Pre-requisites:
Вам нужно иметь следующие условия для работы скрипта:

  • Создать файл urls.txt и вбить туда прямые ссылки на файлы, которые надо скачать;

    • Именно прямые ссылки без # и ? в/после имени файла, чтобы имена файлов были совместимы с файловой системой вашей ОС;

    • Без пустых строк/абзацев.

  • Хост терминала открыт в папке, где лежит urls.txt.

Запуск скрипта:
Вставьте этот скрипт в окно терминала, и поехали!

$urls = Get-Content .\urls.txt
$dir = ".\"

foreach ($i in ($urls.Count - 1)..0) {

    $filename = "$dir$(Split-Path -Leaf $urls[$i])";

    if ((Test-Path -Path $filename -PathType Leaf) -eq $False) {
        Invoke-WebRequest -Uri $urls[$i] -OutFile $filename
    }

}

Результат:
Файлы скачались! И вы довольны.

Бессмысленное продолжение в комментах.

Всего голосов 10: ↑9 и ↓1+8
Комментарии4