Летучая мышь удаляется полностью

Обновлено: 21.11.2024

В этом руководстве мы объясним, как создать пакетный файл для автоматического удаления папки с помощью CMD (командной строки). Мы продолжим серию руководств по использованию командного файла. Команда удалит все файлы и подпапки в указанной папке.

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

Предыдущие руководства по пакетным файлам:

    - Удаляйте файлы старше 7 дней, используя пакет и скрипт. – Удалить файл с помощью командной строки. – Скрипт для архивирования файлов с помощью команды cmd.

Как создать пакетный файл для удаления папки с помощью CMD.

  1. Создайте текстовый файл и скопируйте приведенную ниже командную строку:
  2. Сохранить как DeleteFolder.bat. Сохраняйте в любом месте, кроме папки D:\testfolder.
  3. Запустите пакет двойным щелчком и проверьте, не была ли папка удалена.

Пакетный файл для удаления папки

В этом случае мы удалим указанную папку. В нашем примере мы настроили пакетный файл для удаления «тестовой папки», расположенной в папке D.

Объяснение пакетных команд.

“D:\testfolder” Основная команда находит папку.

Параметр

/s удалит все файлы, содержащиеся в подпапках каталога. Однако, если вы не хотите удалять файлы из подпапок, удалите параметр /s.

Параметр

/f игнорирует любые настройки, доступные только для чтения.

/q «тихий режим» означает, что вам не будет предложено Да/Нет

Планирование пакета.

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

Удаляет один или несколько файлов. Эта команда выполняет те же действия, что и команда стирания.

Команду del также можно запустить из консоли восстановления Windows с другими параметрами. Дополнительные сведения см. в разделе Среда восстановления Windows (WinRE).

Если вы используете del для удаления файла с диска, вы не сможете его восстановить.

Синтаксис

Параметры

  • r Файлы только для чтения
  • h Скрытые файлы
  • i Файлы, не проиндексированные по содержимому
  • Системные файлы
  • a Файлы готовы к архивированию
  • l Точки повторной обработки
  • – используется как префикс, означающий "не"

Примечания

Если вы используете команду del /p, вы увидите следующее сообщение:

ИмяФайла, Удалить (Да/Нет)?

Чтобы подтвердить удаление, нажмите Y. Чтобы отменить удаление и отобразить имя следующего файла (если вы указали группу файлов), нажмите N. Чтобы остановить команду del, нажмите CTRL+C.

Если вы отключите расширение команды, параметр /s будет отображать имена любых файлов, которые не были найдены, вместо отображения имен файлов, которые удаляются.

Если вы укажете в параметре конкретные папки, все включенные файлы также будут удалены. Например, если вы хотите удалить все файлы в папке \work, введите:

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

Команда del отображает следующее приглашение:

Вы уверены (да/нет)?

Чтобы удалить все файлы в текущем каталоге, нажмите Y, а затем нажмите ENTER. Чтобы отменить удаление, нажмите N, а затем нажмите ENTER.

Прежде чем использовать подстановочные знаки в команде del, используйте те же подстановочные знаки в команде dir, чтобы вывести список всех файлов, которые будут удалены.

Примеры

Чтобы удалить все файлы в папке Test на диске C, введите одно из следующих действий:

Чтобы удалить все файлы с расширением имени файла .bat из текущего каталога, введите:

Я хочу удалить определенный каталог в Windows. Я использую код ниже. Это работает нормально. Я хочу поместить файл .bat, который я сделал для этого процесса, в этот каталог. Естественно, файл .bat тоже удаляется. Я хочу, чтобы файл .bat был исключен из этого удаления. Что мне делать с кодом?

Вы не можете удалить каталог, если он содержит файл, например ваш пакетный файл. Если вы не удалите только файлы, а не каталог, это будет невозможно.

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

Итак, вы хотите, чтобы ваш холодильник был выброшен, так как он больше не нужен, но у вас в холодильнике есть пиво, которое вы хотите сохранить, но хотите оставить его в холодильнике. Можно ли выбросить холодильник, не выкинув вместе с ним пиво?

Итак, здесь есть только 3 способа. Либо удалите все в папке, сохраните пакетный файл и саму папку, если вы хотите, чтобы пакетный файл существовал в папке, либо скопируйте пакетный файл из каталога во время удаления, или в лучшем случае никогда не сохраняйте пакетный файл в папке для начала.

Я не хочу выбрасывать холодильник. Я хочу выбросить из холодильника всю еду и напитки, кроме воды. В коде, который я уже привел в качестве примера, холодильник не выбрасывается. Он просто опустошает свою внутреннюю часть. То, что я хочу, не должно быть таким трудным. Простите мое невежество.

3 ответа 3

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

Естественно, команда rd покажет сообщение об ошибке, потому что в целевом каталоге есть хотя бы один файл (ваш собственный пакетный файл), который нельзя удалить. Вы можете скрыть это сообщение, перенаправив стандартный поток ошибок на нулевое устройство:

Сначала я тоже думал о чем-то подобном, но отказался от этой идеи, потому что не уверен, что rd продолжает удаление; Однако после нескольких тестов я думаю, что все будет хорошо…

Есть несколько способов выполнить вашу задачу.

Метод (особенно если вы обычно удаляете каталоги одной командой, а файлы — другой) заключается в том, чтобы идентифицировать файлы и подкаталоги отдельно. Сначала определите подкаталоги и удалите их с помощью команды RD, затем удалите все файлы, кроме самого пакетного файла, %0 :

Это можно сделать одной строкой с помощью утилиты ForFiles:

Или вы можете использовать цикл For с командой Dir:

Обратите внимание, что вы можете удалять только элементы, для которых у вас есть необходимые разрешения.

Я бы порекомендовал вам использовать более быстрый метод цикла For/F из двух, которые я опубликовал. Кстати, @Vuslatdemir, пожалуйста, прочтите Что мне делать, если кто-то ответит на мой вопрос?, и рассмотрите действие, основанное на его содержании.

Возникла проблема с методом цикла For \f. Этот метод не удаляет файлы с именами, содержащими неанглийские латинские буквы. Допустимы слова, содержащие только английские латинские буквы.

Пакетный (.BAT) сценарий (Windows) для удаления всех временных файлов после компиляции проекта с помощью Microsoft Visual Studio (Visual C++) или GCC. Он находит и удаляет (рекурсивно в заданных деревьях каталогов) все файлы, которые соответствуют любому из: *.obj, *.o, *.pch, *.pdb, *.ilk, *.idb, *.gch

Этот файл содержит двунаправленный текст Unicode, который может быть интерпретирован или скомпилирован не так, как показано ниже. Для просмотра откройте файл в редакторе, который показывает скрытые символы Unicode. Подробнее о двунаправленных символах Юникода

< /tr>
REM = ================================================== ====================
REM Batch (.BAT) скрипт (Windows) для удаления всех временных файлов после
REM, компилирующий проект с помощью Microsoft Visual Studio (Visual C++) или GCC.
REM
REM Предупреждение: он также удаляет базы данных отладки, необходимые для "входа"
REM из отладчика. Эти файлы могут быть действительно *большими*, но если вы думаете,
REM, они вам понадобятся, удалите файл для "*.pdb" ниже.
REM
REM Использование:
REM — открыть терминал (клавиша Windows + R , введите "cmd", нажмите ENTER)
REM - Чтобы удалить файлы сборки из одного (или, необязательно) нескольких каталогов, выполните:
REM delete_build_temps.bat СТРОЙКА1 [СТРОЙКА2] [СТРОЙКА3] [. ]
REM
REM Автор: Хосе Луис Бланко Кларако, 2013
REM выпущен в общественное достояние.
REM ========================= ============================================
set DIR = %CD%
: Loop
IF "%1" == " " GOTO Продолжить
cd %1
del /s *.obj
del /s *.o
del /s *.pch
del /s *.pdb
del /s *.ilk
del /s *.idb
del /s *.gch
SHIFT
cd %DIR%
Цикл GOTO
: Продолжить

Вы не можете выполнить это действие в данный момент.

Вы вошли в другую вкладку или окно. Перезагрузите, чтобы обновить сеанс. Вы вышли на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.

Читайте также: