Вы когда-нибудь чувствовали себя роботом, разгребая папки? Например, скачали сотню дизайн-ассетов или фотографий, а имена у них все уродливые: IMG_999_final_banget_v2.jpg. Или ещё хуже — папка «Загрузки» забита мусором со времён мамонтов, от чего ваш SSD просто кричит от боли?
Если вы до сих пор переименовываете или удаляете файлы по одному через правую кнопку мыши… вы реально теряете драгоценное время.
В этой статье я покажу, как написать простой скрипт PowerShell, чтобы Windows работала сама. Вы просто сидите и попиваете кофе, а мой скрипт делает всю грязную работу.
PowerShell: это вам не просто синий экран
Многие спрашивают: “А почему не CMD, чувак?”. Так вот, PowerShell намного умнее CMD. Он умеет работать с объектами. Если вам нужно найти файлы больше 1 ГБ или файлы, которые не открывались последний год, PowerShell сделает это очень легко.
Авто-переименование: пусть папка радует глаз
Допустим, у вас есть папка с фотографиями из камеры, имена DSC001, DSC002 и так далее. А вы хотите переименовать их в Крутой_Проект_001.
Бам — используйте этот код:
# Укажите свой путь к папке!
$folderPath = "C:\Users\Ты\Documents\Ассеты_Проекта"
# Забираем все файлы, потом переименовываем
Get-ChildItem -Path $folderPath | ForEach-Object {
$newName = $_.Name -replace "DSC", "Крутой_Проект"
Rename-Item -Path $_.FullName -NewName $newName
} Почему это работает:
Get-ChildItem: так мы говорим PowerShell: «Эй, посмотри-ка содержимое папки».-replace: это волшебная команда для замены мусорных слов на те, что нужно вам.
Авто-удаление: выбрось бывшую… то есть мусорные файлы!
Уверен, папка Temp или «Загрузки» у вас — что-то вроде кладбища. Сделаем скрипт, который автоматически удаляет файлы старше 30 дней (к которым вы не прикасались).
Скопируйте этот код:
# Путь к папке с мусором
$trashPath = "D:\Downloads\Trash"
$daysLimit = 30
# Найти просроченные файлы и зачистить!
Get-ChildItem -Path $trashPath -Recurse | Where-Object {
$_.LastWriteTime -lt (Get-Date).AddDays(-$daysLimit)
} | Remove-Item -Force Если боитесь случайно что-то удалить, добавьте -WhatIf в конце строки Remove-Item. PowerShell лишь покажет список файлов, которые были бы удалены, ничего не удаляя на самом деле. Так вы сможете всё перепроверить.
Как сделать выполнение автоматическим (без ручного запуска)
Скрипты выше бесполезны, если вам придётся открывать их каждый день вручную. Нужно использовать встроенный планировщик задач Windows:
Шаг 1
Найдите Планировщик заданий (Task Scheduler) в меню Пуск.
Шаг 2
Выберите «Создать простую задачу» (Create Basic Task), назовите её «Уборка папки».
Шаг 3
В разделе «Действие» (Action) выберите «Запустить программу».
Шаг 4
В поле «Программа/сценарий» укажите: powershell.exe.
Шаг 5
В поле «Добавить аргументы» введите:
-ExecutionPolicy Bypass -File "C:\Путь\К\Твоему\Скрипту.ps1".
Готово! Теперь каждое утро, когда вы включаете компьютер, этот скрипт будет автоматически работать в фоне.
Заключение
В наше время всё ещё вручную? Как жаль, что вы закапываете свои навыки. С помощью такой простой автоматизации вы становитесь на шаг ближе к статусу эффективного продвинутого пользователя.