Как легко и просто удалить ненужные видеофайлы, если их скопилось много
Ожидает приглашения
Привет, коллеги, это моя первая статья на хабре, просьба отнестись с пониманием.
Допустим, у Вас на компьютере скопилось большое количество видеофайлов, и Вы хотите навести порядок, то есть удалить ненужные. Самое очевидное решение не является самым удобным — открыть папку и ориентироваться на названия. Это не всегда работает, например, в случае серий с сериалами, когда хочется что-то удалить, что-то оставить. Придётся открывать каждый файл, и только после закрытия видеоплеера удалять. Неудобно.
Тут на помощь приходит смекалка и PowerShell, извиняюсь перед всеми пользователями Linux… хотя на Linux безусловно тоже можно будет придумать нечто подобное.
Основная идея заключается в следующем — открываем файл в видеоплеере, и если его нужно удалить, запускаем bat-файл, который удаляет предыдущий открытый файл, и помечает на удаление текущий открытый файл. Под помечанием на удаление имеется ввиду запись полного пути текущего файла в текстовый файл. Сразу открытый файл удалить нельзя, так как он занят видеоплеером, и не всегда на чтение.
Пункт 1
Установить Media Pleer Classic, например отсюда
Пункт 2
В настройках установить отображение полного пути проигрываемого файла, пункт меню «Проигрыватель -> В заголовке отображать -> Полный путь». Скриншот настройки.
Пункт 3
Разрешить выполнение PowerShell скриптов. Не думаю, что это будет большой проблемой, речь наверное всё-таки о персональных ПК, не о серверах.
Команда, разрешающая безусловное выполнение всех PowerShell-скриптов — «Set-ExecutionPolicy Unrestricted». Открываем консоль PowerShell под правами администратора, вводим эту команду. Подробнее например здесь.
Думаю, есть более безопасный способ, который позволит выполнять не все ps1-файлы, а только определённый, но я так глубоко не копал. Кто знает, буду благодарен за комментарий к публикации.
Пункт 4
Вот сам PowerShell-скрипт:
Он делает следующее:
Пункт 5
Создать bat-файл со следующей командой:
где файл ps1 это наш скрипт
Пункт 6, но это кому как удобно
Вывести нажатие bat-файла на панель задач, у меня например так
Итог
Теперь, когда Вы запускаете файл в видеоплеере, если Вы видите, что файл Вам уже неинтересен, просто нажимаете кнопочку на панели задач, и он гарантированно будет удалён в корзину со следующим нажатием.
Надеюсь, идея Вам зашла.
Допустим, у Вас на компьютере скопилось большое количество видеофайлов, и Вы хотите навести порядок, то есть удалить ненужные. Самое очевидное решение не является самым удобным — открыть папку и ориентироваться на названия. Это не всегда работает, например, в случае серий с сериалами, когда хочется что-то удалить, что-то оставить. Придётся открывать каждый файл, и только после закрытия видеоплеера удалять. Неудобно.
Тут на помощь приходит смекалка и PowerShell, извиняюсь перед всеми пользователями Linux… хотя на Linux безусловно тоже можно будет придумать нечто подобное.
Основная идея заключается в следующем — открываем файл в видеоплеере, и если его нужно удалить, запускаем bat-файл, который удаляет предыдущий открытый файл, и помечает на удаление текущий открытый файл. Под помечанием на удаление имеется ввиду запись полного пути текущего файла в текстовый файл. Сразу открытый файл удалить нельзя, так как он занят видеоплеером, и не всегда на чтение.
Пункт 1
Установить Media Pleer Classic, например отсюда
Пункт 2
В настройках установить отображение полного пути проигрываемого файла, пункт меню «Проигрыватель -> В заголовке отображать -> Полный путь». Скриншот настройки.
Пункт 3
Разрешить выполнение PowerShell скриптов. Не думаю, что это будет большой проблемой, речь наверное всё-таки о персональных ПК, не о серверах.
Команда, разрешающая безусловное выполнение всех PowerShell-скриптов — «Set-ExecutionPolicy Unrestricted». Открываем консоль PowerShell под правами администратора, вводим эту команду. Подробнее например здесь.
Думаю, есть более безопасный способ, который позволит выполнять не все ps1-файлы, а только определённый, но я так глубоко не копал. Кто знает, буду благодарен за комментарий к публикации.
Пункт 4
Вот сам PowerShell-скрипт:
$df = 'C:\Temp\delete.txt'
if (Test-Path $df)
{
$delfile = Get-Content $df
Add-Type -AssemblyName Microsoft.VisualBasic
[Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile($delfile,'OnlyErrorDialogs','SendToRecycleBin')
}
$mpc = Get-Process mpc-hc64
$title = $mpc.MainWindowTitle
Set-Content -Value $title -Path $df
Он делает следующее:
- Удаляет в корзину файл, записанный первой строкой текстового файла C:\Temp\delete.txt
- Перезаписывает в C:\Temp\delete.txt заголовок окна процесса mpc-hc64, то есть нашего видеоплеера из пункта 1
Пункт 5
Создать bat-файл со следующей командой:
powershell -file C:\Temp\deletevideo.ps1
где файл ps1 это наш скрипт
Пункт 6, но это кому как удобно
Вывести нажатие bat-файла на панель задач, у меня например так
Итог
Теперь, когда Вы запускаете файл в видеоплеере, если Вы видите, что файл Вам уже неинтересен, просто нажимаете кнопочку на панели задач, и он гарантированно будет удалён в корзину со следующим нажатием.
Надеюсь, идея Вам зашла.