Windows PowerShell позволяет автоматизировать все на вашем компьютере: вот как начать

Что, если бы ваш компьютер мог выполнять за вас скучные задачи? С Windows PowerShell это возможно. Вот как я использую PowerShell для автоматизации повседневных повторяющихся задач, которые в противном случае мне бы не хотелось выполнять.

Что такое Windows PowerShell?

PowerShell — это оболочка командной строки и язык сценариев, встроенные в Windows, которые помогают автоматизировать административные и повторяющиеся задачи. Если вы использовали его раньше, возможно, он уже кажется вам знакомым. Но если вы новичок в этом деле, не волнуйтесь — PowerShell легко освоить.

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

Конечно, PowerShell может сделать гораздо больше. Но в этом руководстве мы будем придерживаться основ, чтобы вы могли понять его основы. Мы также создадим простые сценарии PowerShell и интересный проект, который позволит вам упорядочить все файлы в папке «Загрузки» по их типу.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Понимание основ PowerShell

Чтобы освоить PowerShell, вы должны сначала понять его ключевые компоненты:

  • Командлеты. Командлеты (произносится как «commandlets») — это простые одноцелевые команды. Например, введите Get-Date, чтобы получить текущий день, дату, год и часы.

  • Сценарии и конвейеры. Сценарий PowerShell представляет собой комбинацию команд, разделенных оператором вертикальной черты (|), для соединения команд и передачи выходных данных одной команды в качестве входных данных для следующей команды. Например, введите следующую команду, чтобы получить список процессов, отсортированный по использованию ЦП: get-process | сортировка объекта ЦП – по убыванию

  • Объекты: PowerShell выводит объекты, а не простой текст, что упрощает манипулирование данными. Например, введите следующую команду, чтобы получить текущую дату и время в виде объекта с определенными свойствами: Get-Date | Выберите-Объект-Свойство День, Месяц, Год

  • Фильтрация и форматирование: используйте Where-Object для фильтрации и Format-Table или Format-List для получения индивидуального вывода. Например, введите следующую команду, чтобы найти файлы размером более 50 МБ в папках «Загрузки» и отобразить их имена и размеры в таблице: Get-ChildItem -Path «E:\Downloads» -Recurse | Где-Объект {$_.Длина -gt 50 МБ } | Имя таблицы формата, длина

Другие важные командлеты PowerShell включают Get-Help для получения информации о любом командлете, Get-Command для получения списка команд и Get-ChildItem для просмотра файлов и папок в каталоге.

Мы настоятельно рекомендуем прочитать наше руководство по основным командам PowerShell и сценариям Windows PowerShell, чтобы узнать больше о командах и основах создания сценариев. Это поможет вам выйти за рамки основ и глубже изучить все возможности PowerShell.

Написание простых сценариев PowerShell

Вы можете использовать PowerShell для автоматизации практически всего, например пакетного переименования файлов для обеспечения согласованности или автоматизации запуска приложений. Давайте напишем несколько простых сценариев Windows PowerShell, чтобы увидеть это в действии.

Если вы столкнулись с ошибкой при выполнении сценария, связанного с политикой выполнения, вам может потребоваться временно разрешить выполнение сценария, запустив «Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass».

Пакетное переименование файлов в папке

Вы можете использовать PowerShell для копирования, перемещения и удаления файлов на вашем компьютере. Вы также можете пакетно переименовывать файлы определенных типов. Например, вот как вы можете переименовать несколько текстовых файлов, заменив в их именах префикс «oldco» на «newco»:

Get-ChildItem -Path “C:\CompanyFiles” -Filter “*.txt” | Rename-Item -NewName {$_.Name -replace “oldco”,”newco”}

В приведенном выше сценарии «.txt» — это фильтр расширений файлов. Вы можете изменить его и установить формат .jpg, .docx и т. д. для поиска файлов разных типов.

Автоматизировать запуск приложений

Если вы каждый день открываете один и тот же набор приложений, вы можете написать сценарий PowerShell, который будет запускать их одним щелчком мыши:

Пуск-Процесс «notepad.exe»
Пуск-Процесс «calc.exe»
Запустите процесс «Chrome.exe».
Пуск-Процесс «slack.exe»

Вставьте сценарий в файл Блокнота и сохраните его как LaunchFavoriteApps.ps1. Затем просто дважды щелкните файл, чтобы запустить все приложения, перечисленные в скрипте.

Скопируйте важные файлы в резервную копию

Вы можете периодически создавать резервные копии важных файлов в резервном хранилище, используя следующий сценарий. Обязательно измените исходный и целевой пути по мере необходимости:

Копировать элемент – путь «C:\Documents\MyFiles» – место назначения «D:\MyFilesBackup» –Recurse

Написание сценария PowerShell для автоматизации ежедневной организации файлов

Из-за множества типов файлов, которые мы загружаем ежедневно, папка «Загрузки» может быстро превратиться в беспорядок из-за разбросанных повсюду файлов. Чтобы это исправить, мы можем написать сценарий PowerShell, который в конце каждого дня упорядочивает загруженные файлы по папкам по типам.

Откройте новый файл Блокнота и вставьте следующий скрипт. Обязательно измените путь к исходной папке в скрипте, чтобы он соответствовал пути к папке «Загрузки»:

$sourcePath = “E:\Downloads”
$fileTypes = @{
“Документы” = @(“*.docx”, “*.pdf”, “*.txt”)
“Изображения” = @(“*.jpg”, “*.png”, “*.gif”)
“Медиа” = @(“*.mp4”, “*.mp3”, “*.mov”)
“Zip” = @(“*.zip”, “*.rar”)
“ISO” = @(“*.iso”)
“Другие” = @(“*”)
}
foreach ($folder в $fileTypes.Keys) {
$destPath = Путь-соединения -Путь $sourcePath -ChildPath $folder
if (!(Test-Path -Path $destPath)) {
New-Item -ItemType Directory -Path $destPath | Out-Null
}
foreach ($pattern в $fileTypes[$folder]) {
Get-ChildItem -Path $sourcePath -Filter $pattern -File -ErrorAction SillyContinue | ForEach-Объект {
пытаться {
Move-Item -Path $_.FullName -Destination $destPath -Force -ErrorAction Stop
Вывод записи «Перемещено: $($_.FullName) в $destPath»
} ловить {
Предупреждение записи «Не удалось переместить файл: $($_.FullName). Ошибка: $_»
}
}
}
}
Вывод записи «Файлы организованы успешно!»

Чтобы сохранить файл, нажмите «Файл» > «Сохранить как» и введите OrganizeDownloadsFolder.ps1 в качестве имени файла. Затем нажмите «Сохранить как тип» и выберите «Все файлы». Дважды щелкните файл OrganizeDownloadsFolder.ps1, чтобы запустить сценарий.

Планирование и выполнение задач

Конечно, написание скрипта — это часть процесса автоматизации. Вторая часть — обеспечить возможность автоматического выполнения сценария для выполнения задачи. Для этого мы можем создавать запланированные задачи для запуска сценария ежедневно или по мере необходимости.

Откройте PowerShell, затем скопируйте и вставьте следующий скрипт и нажмите Enter. Обязательно замените «J:\OrganizeDownloadsFolder.ps1» полным путем к файлу вашего скрипта OrganizeDownloadsFolder.ps1.

$action = New-ScheduledTaskAction -Выполнить «PowerShell.exe» -Аргумент «-File 'J:\OrganizeDownloadsFolder.ps1'»
$trigger = New-ScheduledTaskTrigger -Daily -At «17:00»
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName “OrganizeDownloadsFolderDaily”

Когда закончите, нажмите Enter. Скрипт создаст запланированное задание в планировщике задач для запуска сценария организации файлов ежедневно в 17:00. Если вы предпочитаете другое время, вы можете изменить его в приведенном выше скрипте.

Помимо этого, вы можете использовать PowerShell для автоматизации других повседневных задач, таких как сценарий мониторинга пространства, который предупреждает вас, когда у вас заканчивается свободное место на основном диске, пакетная защита PDF-документов паролем и даже динамическое применение обоев. из папки изображений.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)