Удалить файлы по маске powershell
Если вы не можете удалить какие-то файлы или папки со своего компьютера под управлением ОС Windows, то мы рекомендуем вам воспользоваться такое полезной штуковиной, как PowerShell. При помощи данного средства вы без каких-либо проблем можете удалить из системы файлы и папки, которые сложно или и вовсе нельзя удалить традиционными методами.
PowerShell для удаления файлов и папок
Чтобы удалить из системы файлы и папки с помощью Windows PowerShell, вам нужно придерживаться следующих шагов:
- откройте Windows PowerShell;
- найдите нужный файл или папку;
- выполните команду по удалению объекта.
Верно, все настолько просто. Однако давайте все-таки пройдемся по процессу удаления через PowerShell немного поподробней.
Удаление одного файла через PowerShell
Прежде все, вам необходимо открыть перед собой окошко PowerShell. Для этого нажмите на клавиатуре комбинацию Windows+S, а затем пропишите запрос PowerShell. Нажмите правой кнопкой на найденный результат и выберите «Запуск от имени администратора».
Чтобы удалить какой-то определенный файл, вам нужно выполнить следующую команду:
В общем, довольно простая команда. Давайте предположим, что у вас на Рабочем столе есть папка под названием «Testfiles», а внутри нее лежит файл Testfiles.jpg, который вам нужно удалить. В таком случае вышеуказанная команда будет выглядеть следующим образом:
Remove-item C:\Users\[имя пользователя]\Desktop\Testfiles\Testfiles.jpg
Обязательно не забываем прописывать расширение файла под удаление, иначе PowerShell просто не разберет команду — файл останется на компьютере и вы увидите ошибку в окошке средства.
Удаление одной папки через PowerShell
Хотите удалить какую-то конкретную папку в своей ОС Windows? Тогда вам нужно использовать точно такую же команду, что и ранее.
Давайте предположим, что у вас на Рабочем столе есть папка под названием «Testfiles» — вы хотите от нее избавиться. В таком случае команда примет следующий вид:
Remove-item C:\Users\[имя пользователя]\Desktop\Testfiles
Если папка пустая, то она будет удалена сразу же. Тем не менее при наличии хоть каких-то файлов в ней вам придется нажать на кнопки Y и Enter, чтобы подтвердить их удаление. В окошке PowerShell будут подсказки начнет того, за что отвечают какие кнопки.
Удаление нескольких файлов через PowerShell
Если вы хотите избавиться сразу от нескольких файлов через PowerShell, то вам потребуется использовать уже несколько иную команду. Выглядеть она будет следующим образом:
Remove-item [путь к файлу], [путь к файлу1], [путь к файлу2]
Верно, вам придется вводить местоположение для каждого файла, который вы хотите удалить из своей системы. Предположим, что у вас на Рабочем столе есть файл AnotherTest.txt, а в папке Downloads — AnotherTest1.jpg. Что делать, если их оба нужно удалить? В таком случае команда для PowerShell будет выглядеть следующим образом:
Remove-item C:\Users\[имя пользователя]\Desktop\AnotherTest.txt, C:\Users\[имя пользователя]\Downloads\AnotherTest1.jpg
Удаление нескольких папок через PowerShell
Команда для удаления нескольких папок мало чем отличается от команды, предназначенной для удаления нескольких файлов. Используя прошлые примеры, команда в PowerShell для нескольких папок будет выглядеть следующим образом:
Remove-item C:\Users\[имя пользователя]\Desktop\AnotherTest, C:\Users\[имя пользователя]\Downloads\AnotherTest1
Опять-таки, если в этих папках будут располагаться какие-то файлы, то вам потребуется подтвердить их удаление в окне PowerShell, нажав Y и Enter. Кроме того, стоит отметить, что файлы и папки, удаленные подобным образом, не попадают в Корзину на Рабочем столе, а сразу же удаляются из системы.
Проверка наличия файлов в папке через PowerShell
Если вы не можете открыть папку, но хотите знать, что в ней находится, то можете воспользоваться следующей командой:
Например, если вы хотите заглянуть внутрь папки «AnotherTest2», располагающейся на Рабочем столе, то команда будет выглядеть вот так:
Get-ChildItem C:\Users\[имя пользователя]\Desktop\AnotherTest2
Задействовав данную команду, вы увидите несколько колонок, в которых будет содержаться полезная информация касательно файлов внутри нужной вам папки. Последняя колонка (по умолчанию) будет отвечать за название файлов. Так вы будете знать, стоит ли удалять эту папку или нет.
Проверка последнего изменения и времени создания через PowerShell
Если вы хотите понять, когда был создан и изменен какой-то объект (папка или файл) в вашей системе, то вам нужно выполнить в PowerShell следующую команду:
Get-ChildItem C:\Users\[имя пользователя]\Desktop\AnotherTest2 | Select-Object FullName, LastWriteTime, CreationTime
Принудительное удаление объекта через PowerShell
У вас не получится использовать вышеуказанные команды для удаления скрытых файлов и файлов с атрибутом только для чтения. Если вы попытаетесь это сделать, то в окошке PowerShell вас встретит ошибка. Тем не менее вы можете принудительно избавиться от тех или иных файлов/папок, задействовав параметр -force. Предположим, что у вас на Рабочем столе есть папка AnotherTest3 со скрытыми файлами внутри и вы хотите избавиться от нее. Для удаления этой папки вам нужно выполнить в PowerShell следующую команду:
Remove-item C:\Users\[имя пользователя]\Desktop\AnotherTest3 -force
Как и всегда, при желании удалить два или больше объектов вам понадобится нажать Y и Enter в окошке PowerShell, чтобы подтвердить свои намерения.
Удаление файлов/папок без подтверждения через PowerShell
Кстати, говоря о подтверждения об удалении, не хотите постоянно заниматься ими? Тогда вы можете пропустить эти запросы, применив к команде на удаления особый параметр. Такая команда будет выглядеть следующим образом:
Remove-item C:\Users\[имя пользователя]\Desktop\AnotherTest3 -recurse
После ввода этой команды все указанные файлы и папки будут сразу же удалены с вашего компьютера — подтверждать ничего не нужно.
Исключение из команды на удаление в PowerShell определенных файлов
Давайте представим, что у вас есть несколько файлов с различными расширениями, например, TXT, PNG, DOCX, PDF и так далее. Вы хотите удалить всё, за исключением файлов с расширением TXT. В таком случае вам нужно задействовать вместе с соответствующей командой параметр -exclude. Вот что у вас должно получиться:
Remove-Item –path C:\Users\[имя пользователя]\Desktop\AnotherTest3* -exclude *.txt
Как вы уже могли догадаться, из папки AnotherTest3 будут удалены абсолютно все объекты, за исключением текстовых файлов. Очень удобная команда для очистки какой-то папки, в которой намешано очень много разных файлов, и вам нужно отфильтровать ее, избавившись от всего ненужного.
Поэтому у меня есть несколько больших текстовых файлов, которые мне нужно отсортировать, и удалить все вхождения строк, которые содержат данное ключевое слово. В общем, если у меня есть эти строки:
Это не тест
Это тест
Может быть тест
Определенно не тест
И я запускаю скрипт с 'not', мне нужно полностью удалить строки 1 и 4.
но он заменяет только «Программу», а не всю строку.
Вот что я бы сделал:
Строка Снарка делает то же самое, но начинается с загрузки всего файла в массив, что может быть проблематично с большими файлами в памяти.
Я бы посоветовал вам использовать Set-Content вместо Out-File, который имеет дело с необработанными данными и не будет обрезать строки или форматировать объекты. @JasonMArcher Можете ли вы опубликовать пример, используя Set-Content ? Я не верю, что Set-Content это замена для замены Out-File . Get-Content .\in.txt | Where-Object | Set-Content out.txt Out-File - это в основном Set-Content, но он выполняет ввод через форматирование по умолчанию вместо простого преобразования строк.$_> У меня была точно такая же проблема, и вы отвечаете на 99% того, что мне нужно. Последняя проблема заключается в том, что я запускаю команду в цикле с переменной $ (в вашем примере вместо 'not'). Если я жестко закодирую строку, она отлично работает; но если я использую переменную, это ничего не делает. Есть идеи почему? Я попробовал обе переменные и поместил их в "кавычки" Как это можно изменить, чтобы заменить текст в этих строкахЭто будет работать:
Это просто возвращает одну строку во втором файле с именем True. Исправление: это просто возвращает одну строку во втором файле, состоящем из 'True'. Может быть, в нем отсутствует «Foreach-Object <$ _», поэтому он запускается один раз в строке? Редактировать: Ну, на самом деле это сейчас не имеет значения, он стер файл, который я надеялся очистить. В любом случае, спасибо за помощь, но мне все еще интересно, какой будет правильная команда, чтобы я мог сделать это в будущем? Это работает для меня с вашими 4 тестовыми строками выше. согласился, но я использовал те же имена файлов, что и на оригинальном постере, чтобы облегчить ответ. Он использовал co2.txt для ввода и вывода.Вы также можете использовать 'Select-String' с опцией -notmatch:
Мне просто нужно было заставить это работать и придумал следующее:
Ключевым моментом является то, что для 'Where-Object', использующего блок скрипта (как обозначено фигурными скобками), требуется объявить переменную в событии создания блока скрипта, следовательно,
Структурируя его таким образом, можно создать функцию, передать ей текстовую строку для частичного совпадения, выполнить создание блока сценария с переданным значением и заставить его работать правильно.
Ответы выше не правильно объясняют, как передать значение, которое будет заменено в переменной.
Использование Powershell для удаления файлов
Использование Powershell для удаления файлов
Использование PowerShell commnads для удаления файла
Можно также использовать символ '*' символы, чтобы удалить несколько элементов.
Например, эта команда удаляет все файлы в каталоге C: \ тест: с расширением .txt .
Здесь же вы можете использовать -Force команду, чтобы удалить все файлы из каталога -Force
Здесь же вы можете использовать -Force команду, чтобы удалить все файлы и папки -recurse
Если вы не можете удалить файл или папку со своего компьютера, вы можете использовать Windows PowerShell легко удалить любой файл и папку. Преимущество использования PowerShell заключается в том, что вы можете принудительно удалить файл и удалить все элементы из папки. Мы видели, как удалять файлы и папки с помощью командной строки. Теперь посмотрим, как это сделать с помощью PowerShell.
Используйте PowerShell для удаления файлов и папок
Чтобы удалить файлы и папки с помощью Windows PowerShell, выполните следующие действия:
- Откройте Windows PowerShell.
- Определите папку
- Используйте команду Remove-item.
Вот подробное описание учебника.
Удалить один файл с помощью PowerShell
Это основная форма команды.
Предположим, у вас есть файл TWC.jpg в папке TWC на вашем рабочем столе. Чтобы удалить его с помощью Windows PowerShell, вам необходимо ввести эту команду:
Удалить одну папку с помощью PowerShell
Если вы хотите удалить папку с помощью Windows PowerShell, вам необходимо ввести команду, как упоминалось ранее:
Если папка пуста, она будет немедленно удалена. Однако, если в папке есть файлы, вам необходимо подтвердить удаление, нажав Y и Войти кнопки.
Удалить несколько файлов с помощью PowerShell
Если вам нужно удалить несколько файлов, вам нужно ввести другую команду. Команда выглядит так же, но с небольшой разницей.
Вам нужно ввести все пути к файлам вот так. Например, у вас есть один файл с именем TWC.jpg на рабочем столе и другой файл с именем TWC1.txt в папке «Загрузки». Чтобы удалить их сразу, вы можете ввести следующую команду:
Удалить несколько папок с помощью PowerShell
Как и при удалении нескольких файлов, такая же команда позволяет удалить более одной папки с помощью Windows PowerShell. Например, вы можете использовать такую команду:
Эта команда удалит папку TWC с рабочего стола и папку TWC1 из папки загрузок одновременно.
К сведению: если вы воспользуетесь этими командами, ваши файлы и папки будут удалены без возможности восстановления. Другими словами, вы не можете найти их в корзине.
Проверить элементы в папке
Если вы не можете открыть папку, но хотите знать об элементах, вы можете использовать эту команду:
Если у вас есть папка на рабочем столе с именем TWC, вам нужно ввести следующую команду, чтобы показать все:
По умолчанию он показывает режим, LastWriteTime, длину и имя. Отсюда вы можете получить имя файла, чтобы удалить нужный элемент.
Проверить время последней модификации и время создания
Если вы хотите проверить время, когда файл был создан или изменен, вы можете использовать эту команду:
Вы можете найти три столбца со всеми именами файлов и другими деталями.
Принудительно удалить элемент
Если в вашей папке есть некоторые файлы, предназначенные только для чтения или скрытые, которые вы хотите удалить, вы не можете использовать указанную выше команду, так как она покажет ошибку. В этом случае вы должны использовать -сила параметр. Например, если есть какие-то скрытые файлы или файлы только для чтения в папке TWC, которая находится на рабочем столе, вы должны ввести эту команду:
Удалить без подтверждения
После ввода этой команды ваша папка или файл будут окончательно удалены без какого-либо подтверждения.
Исключить определенный тип файла
Предположим, у вас есть несколько типов файлов, таких как TXT, PNG, DOCX, PDF и т. Д., И вы хотите удалить все элементы, кроме файлов TXT. В этом случае вы можете использовать -исключать параметр. Команда выглядит так:
Читайте также: