Как настроить автоматическое создание скриншотов экрана?

Как автоматически делать скриншоты экрана в Windows? Нашёл бесплатную программу Auto Screenshot <a href="https://apps.microsoft.com/detail/XPFFGL30LFPRFK?hl=ru-KZ&amp;gl=KZ&amp;ocid=pdpshare" rel="nofollow">https://apps.microsoft.com/detail/XPFFGL30LFPRFK?h...</a>, но её функционала недостаточно. Поделитесь, пожалуйста, чем вы пользуетесь. Нужно, чтобы скриншоты каждый день сохранялись в автоматически создаваемые папки по датам.
  • 16 февраля 2026 г. 18:00
Ответы на вопрос 3
Коротко — самые простые и надёжные варианты:

1) готовая бесплатная программа с графическим интерфейсом: ShareX (рекомендую);  
2) собственный скрипт (PowerShell) + Планировщик заданий Windows (Task Scheduler) — гибко и контролируемо.

Дальше — как сделать оба варианта.

Вариант A — ShareX (быстро и просто)
- Скачайте и установите ShareX: https://getsharex.com  
- В ShareX есть «Auto capture» / «Interval capture» (периодический захват). В меню Capture → Automatic capture (или в настройках Task settings создайте задачу для автоматического захвата).  
- В настройках сохранения (Destination / File naming) укажите базовую папку (например C:\Screenshots) и шаблон имени/папки по дате (ShareX поддерживает переменные для даты/времени — задайте папку как, например, %y%-%mo%-%d% или используйте GUI для указания «папка по дате»).  
- Настройте интервал (каждые N секунд/минут) и тип захвата (весь экран, активное окно и т. д.).  
Плюсы: простота, много дополнительных опций (загрузка, горячие клавиши, редактирование). Минус: если нужна тонкая автоматизация / запуск как служба — может не подойти.

Вариант B — PowerShell + Task Scheduler (наиболее надёжно и гибко)
- Пишем скрипт, который:
  1) создаёт папку с именем по текущей дате (yyyy-MM-dd),  
  2) делает скриншот всего экрана и сохраняет PNG с временной меткой.

Пример скрипта (сохраните как C:\Scripts\Screenshot.ps1):

```powershell
Add-Type -AssemblyName System.Drawing

# Папка-родитель (можете изменить)
$baseFolder = "C:\Screenshots"

# Дата/время для названий
$today = Get-Date -Format "yyyy-MM-dd"
$time = Get-Date -Format "HH-mm-ss"

# Создать папку по дате
$dir = Join-Path $baseFolder $today
if (-not (Test-Path $dir)) { New-Item -ItemType Directory -Path $dir | Out-Null }

# Получить размер рабочего стола
$width = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Width
$height = [System.Windows.Forms.SystemInformation]::PrimaryMonitorSize.Height

$bmp = New-Object System.Drawing.Bitmap $width, $height
$g = [System.Drawing.Graphics]::FromImage($bmp)
$g.CopyFromScreen(0,0,0,0, $bmp.Size)

$filename = Join-Path $dir ($time + ".png")
$bmp.Save($filename, [System.Drawing.Imaging.ImageFormat]::Png)

# очистка
$g.Dispose()
$bmp.Dispose()
```

Важно: чтобы этот скрипт работал, нужно в Task Scheduler учесть поведение интерактивного рабочего стола:
- При создании задачи в Task Scheduler выберите «Create Task».
- На вкладке General: лучше выбрать «Run only when user is logged on» — иначе захват экрана из фоновой / неинтерактивной сессии может не дать ожидаемого результата.
- Triggers → New: поставьте расписание (например Daily), затем включите «Repeat task every» и выберите нужный интервал (например 5 minutes) и «for a duration: 1 day» или «Indefinitely».
- Actions → New: Program/script: powershell.exe  
  Arguments: -NoProfile -ExecutionPolicy Bypass -File "C:\Scripts\Screenshot.ps1"
- Conditions/Settings по желанию (не выключать при питании от батареи и т.п.).

Плюсы этого метода: полностью под ваш контроль, можно настраивать формат, интервал, дополнительные фильтры. Минус: нужно немного настроить Task Scheduler и скрипт.

Дополнительно — полезные моменты
- Если требуется запускать при заблокированном экране / без пользователя — скриншоты рабочего стола не будут содержать текущего интерактивного экрана; для таких сценариев может потребоваться запуск удалённой сессии или программное создание «скриншота» виртуального дисплея (более сложная тема).
- Альтернатива PowerShell: ниркоманд (NirCmd) — утилита nircmd.exe имеет команду savescreenshot и её легко вызывать из .bat или Task Scheduler. Но всё равно нужно обеспечить корректное создание папки по дате (удобно делать это через PowerShell).
- Платные решения: Snagit (больше опций и поддержки), OBS (видео, но можно делать скриншоты).

Если хотите, могу:
- прислать готовый файл .ps1 и инструкцию по созданию задачи в Task Scheduler пошагово (с скриншотами/точными пунктами), или
- показать, как настроить именно в ShareX шаблон папок/имен для автоматической сортировки по датам.
Любой автоматизатор плюс любое приложение для создания скриншотов, если у автоматизатора нету встроенной фичи для создания скриншотов. Пример пары задач для связки nnCron + IrfanView: <br/> <pre><code>#( Скриншот_полный
Time: */5 * * * * *
Action:
    GET-CUR-TIME
    DIR-CREATE: "C:\TEMP\SCREENSHOTS\%YYYY%-%MM%-%DD%"
    START-APP: "C:\IrfanView\i_view64.exe /capture=0 /convert=C:\TEMP\SCREENSHOTS\%YYYY%-%MM%-%DD%\%Hour@ 0 &lt;# # # #&gt;%-%Min@ 0 &lt;# # # #&gt;%-%Sec@ 0 &lt;# # # #&gt;%.%Ms@ 0 &lt;# # # # #&gt;%.png"
)#

#( Скриншот_окна
Time: */5 * * * * *
Action:
    GET-CUR-TIME
    DIR-CREATE: "C:\TEMP\SCREENSHOTS\%YYYY%-%MM%-%DD%"
    START-APP: "C:\IrfanView\i_view64.exe /capture=2 /convert=C:\TEMP\SCREENSHOTS\%YYYY%-%MM%-%DD%\%Hour@ 0 &lt;# # # #&gt;%-%Min@ 0 &lt;# # # #&gt;%-%Sec@ 0 &lt;# # # #&gt;%.%Ms@ 0 &lt;# # # # #&gt;%.png"
)#</code></pre> <br/> Можно выбрать абсолютно любое время и частоту, а так же любую структуру каталогов и именования файлов — никаких ограничений. Можно и без IrfanView, конечно, а скриншоты через WinAPI делать, но в этом случае формат только <code>.bmp</code> , т.к. другого WinAPI не знает. Поэтому IrfanView и использую (через хоткей, конечно же).
ShareX только на память приходит. У него есть функция: <br/> Автозахват. Такой функционал в других скриншотерах я не встречал! Благодаря ему выставляется интервал времени за который делается один скриншот автоматически. Таким образом, можно один раз запустить щелкатель с интервалом 60 секунд и пойти пить чай. Когда вернетесь через полчаса, то у вас будут 30 скриншотов, рассказывающих, что тут было в ваше отсутствие. <br/>
Похожие вопросы