Как удалить каталог вместе со всеми содержащимися в нем файлами

Содержание

Как удалить каталог вместе со всеми содержащимися в нем файлами?

Чтобы полностью удалить файл, используйте команду rm («remove»). Укажите имя удаляемого файла в качестве аргумента.

Чтобы удалить файл `notes’ в текущем рабочем каталоге, используйте:

Чтобы удалить каталог со всеми подкаталогами и файлами в нем, используйте опцию `-R’ («recursive»). Например, для удаления каталога `waste’ вместе с его содержимым, наберите:

$ rm -R waste [Enter]

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

Как удалить файлы/подпапки в определенном каталоге в командной строке в Windows

Скажем, есть переменная с именем %pathtofolder% , поскольку она ясно показывает, что это полный путь к папке.

Я хочу удалить все файлы и подпапки в этом каталоге, но не сам каталог.

Но может быть ошибка типа «этот файл/папка уже используется». когда это происходит, нужно просто продолжить и пропустить этот файл/папку.

Есть ли какая-то команда для этого?

Вы можете использовать эту оболочку script для очистки папки и файлов в C:\Temp источнике:

Создайте командный файл (скажем, delete.bat), содержащий указанную выше команду. Перейдите в папку, где находится файл delete.bat, а затем запустите команду: delete.bat

rmdir — моя любимая команда во все времена для задания. Он работает для удаления огромных файлов и папок с подпапками. Резервная копия не создается, поэтому перед выполнением этой команды убедитесь, что вы скопировали файлы.

Это тихо удаляет папку и все файлы и подпапки.

Самое простое решение, о котором я могу думать, — удалить весь каталог с помощью

Затем снова создайте этот каталог:

Это позволит удалить папки и файлы и оставить папку позади.

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

Вы получите сообщение об ошибке, сообщите, что команда RMDIR не может получить доступ к текущей папке, поэтому она не может ее удалить.

Обновление:

Из этого полезного комментария (спасибо Moritz Both) вы можете добавить && между ними, поэтому RMDIR не будет работать, если команда CD завершится неудачно (например, неверное имя каталога):

/S: Удаляет дерево каталогов (указанный каталог и все его подкаталоги, включая все файлы).

/Q: задает тихий режим. Не запрашивает подтверждение при удалении дерева каталогов. (Заметим, что /q работает, только если задано /s.)

RD означает REMOVE Directory.

/S: удаление всех файлов и подпапок в дополнение к самой папке. Используйте это, чтобы удалить все дерево папок.

/Q: Тихо — не отображать подтверждение YN

Я использую Powershell

Он удалит содержимое папки, а не папку.

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

Чтобы удалить файл:

Чтобы удалить папку со всеми файлами в ней:

Удаление всех файлов из определенной папки (не удаление самой папки) немного сложнее. del /s *.* не удается удалить папки, но удаляет файлы из всех подпапок. Поэтому необходимы две команды:

Используйте Блокнот, чтобы создать текстовый документ и скопировать/вставить это:

Выберите Сохранить как и имя файла:

Сохранить как тип: все файлы и нажмите кнопку Save .

Он работает на любой учетной записи (администратор или обычный пользователь). Просто запустите!

В этом примере я использую временную переменную, но вы можете использовать любую другую! PS: только для ОС Windows!

Ни один из ответов, опубликованных в 2020-06-01, , за исключением единственной командной строки, опубликованной foxidrive, действительно не удалил все файлы и все папки/каталоги в %PathToFolder% , Причиной публикации еще одного ответа с очень простой единой командной строкой для удаления всех файлов и подпапок папки, а также пакетного файла с более сложным решением, объясняющего, почему все остальные ответы, опубликованные в 2020-06-01 с использованием DEL и FOR с RD не удалось полностью очистить папку.

Простое решение для единой командной строки, которое, конечно же, также можно использовать в командном файле:

Эта командная строка содержит три команды, выполняемые одна за другой.

Первая команда PUSHD помещает текущий путь к каталогу в стек, а затем делает %PathToFolder% текущим каталогом для запуска процесса команды.

Это также работает для путей UNC по умолчанию, поскольку расширения команд включены по умолчанию, и в этом случае PUSHD создает временную букву диска, которая указывает на указанный сетевой ресурс, а затем изменяет текущий диск и каталог, используя только что определенную букву диска.

PUSHD выводит следующее сообщение об ошибке для обработки STDERR, если указанный каталог вообще не существует:

Система не может найти указанный путь.

Это сообщение об ошибке подавляется путем перенаправления его с помощью 2>nul на устройство NUL.

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

Команда RD с параметрами /Q и /S удаляет каталог спокойно со всеми подкаталогами, даже если указанный каталог содержит файлы или папки со скрытым атрибутом или с установленным атрибутом только для чтения. Системный атрибут никогда не препятствует удалению файла или папки.

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

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

Файлы/папки, для которых у текущего пользователя нет необходимых (NTFS) разрешений на удаление файла/папки, что также предотвращает удаление дерева папок в этот файл/папку.

Первая причина не удалять папку используется этой командной строкой для удаления всех файлов и подпапок указанной папки, но не самой папки. Папка временно становится текущей директорией для запуска командного процесса, который предотвращает удаление самой папки. Конечно, это приводит к выводу сообщения об ошибке командой RD:

Процесс не может получить доступ к файлу, поскольку он используется другим процессом.

Файл — это неправильный термин, поскольку в действительности папка используется другим процессом, текущим командным процессом, который выполнил команду RD. Ну, на самом деле папка для файловой системы — это специальный файл с каталогом атрибутов файла, который объясняет это сообщение об ошибке. Но я не хочу слишком углубляться в управление файловой системой.

Это сообщение об ошибке, как и все другие сообщения об ошибках, которые могут возникать по трем причинам, указанным выше, подавляется путем перенаправления его с помощью 2>nul из дескриптора STDERR на устройство NUL.

Третья команда, POPD, выполняется независимо от значения выхода команды RD.

POPD извлекает путь из каталога, выдвинутый PUSHD, из стека и изменяет текущий каталог для запуска процесса команды на этот каталог, то есть восстанавливает исходный текущий каталог. POPD удаляет временную букву диска, созданную PUSHD в случае пути к папке UNC.

Примечание. POPD может молчать, если не удается восстановить исходный текущий каталог, если исходный текущий каталог был подкаталогом каталога для очистки, который больше не существует. В этом особом случае %PathToFolder% остается текущим каталогом. Поэтому желательно запускать командную строку выше, а не из подкаталога %PathToFolder% .

Еще один интересный факт: Я пробовал в командной строке также использовать UNC-путь, используя общий каталог C:\Temp с общим именем Temp и используя UNC-путь \\%COMPUTERNAME%\Temp\CleanTest , назначенный переменной среды PathToFolder в Windows 7. Если текущий каталог запущен из командной строки является подкаталогом общей локальной папки, доступ к которой осуществляется по UNC-пути, т.е. C:\Temp\CleanTest\Subfolder1 , Subfolder1 удаляется RD, а следующая POPD молча завершается ошибкой, снова делая C:\Temp\CleanTest\Subfolder1 текущий каталог, в результате чего Z:\CleanTest остается в качестве текущего каталога для выполняющегося командного процесса. Таким образом, в этом очень особом случае временная буква диска остается до тех пор, пока текущий каталог не изменится, например, с помощью cd /D %SystemRoot% на действительно существующий локальный каталог. К сожалению, POPD не завершается со значением больше 0, если не удается восстановить исходный текущий каталог, что делает невозможным обнаружение этого особого состояния ошибки, используя только код выхода POPD. Однако можно предположить, что никто никогда не сталкивался с этим особенным случаем ошибки, поскольку пути UNC обычно не используются для доступа к локальным файлам и папкам.

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

Теперь давайте посмотрим на решение для пакетных файлов, используя команду DEL для удаления файлов в %PathToFolder% и FOR и RD для удаления подпапок в %PathToFolder% .

Пакетный файл сначала проверяет, что переменная среды PathToFolder действительно определена с путем к папке без двойных кавычек и без обратной косой черты в конце. Обратная косая черта в конце не будет проблемой, но двойные кавычки в пути к папке могут быть проблематичными, поскольку значение PathToFolder объединяется с другими строками во время выполнения пакетного файла.

Важны две строки:

Команда DEL используется для удаления всех файлов в указанном каталоге.

  • Опция /A необходима для обработки всех файлов, включая файлы со скрытым атрибутом, которые DEL игнорирует без использования опции /A .
  • Параметр /F необходим для принудительного удаления файлов с установленным атрибутом только для чтения.
  • Опция /Q необходима для тихого удаления нескольких файлов без запроса пользователя, действительно ли нужно удалить несколько файлов.
  • >nul необходимо перенаправить вывод имен файлов, записанных для обработки STDOUT, на устройство NUL, которое невозможно удалить из-за того, что файл в данный момент открыт или у пользователя нет разрешение на удаление файла.
  • 2>nul необходимо перенаправить вывод сообщения об ошибке для каждого файла, который нельзя удалить из дескриптора STDERR, на устройство NUL.

Команды FOR и RD используются для удаления всех подкаталогов в указанном каталоге. Но for /D не используется, поскольку FOR в этом случае игнорирует подкаталоги с установленным атрибутом hidden. По этой причине for /F используется для запуска следующей командной строки в отдельном командном процессе, запущенном в фоновом режиме с помощью %ComSpec% /c :

DIR выводит в чистом формате из-за /B записей каталога с атрибутом D , то есть имен всех подкаталогов в указанном каталоге, независимых от других атрибутов, таких как скрытый атрибут без пути. 2>nul используется для перенаправления сообщения об ошибке, выводимого DIR, на отсутствие каталога из дескриптора STDERR на устройство NUL.

Оператор перенаправления > должен быть экранирован с помощью символа вставки ^ в командной строке FOR, чтобы интерпретироваться как литеральный символ, когда интерпретатор команд Windows обрабатывает эту командную строку перед выполнением команды FOR, который выполняет встроенную командную строку dir в отдельном командном процессе, запущенном в фоновом режиме.

FOR обрабатывает захваченный вывод, записанный для обработки STDOUT запущенного командного процесса, которые являются именами подкаталогов без пути и никогда не заключаются в двойные кавычки.

FOR с опцией /F игнорирует пустые строки, которые здесь не встречаются, так как DIR с опцией /B не выводит пустые строки.

FOR также игнорирует строки, начинающиеся с точки с запятой, которая является символом конца строки по умолчанию. Имя каталога может начинаться с точки с запятой. По этой причине eol=| используется для определения символа вертикальной черты как символа конца строки, который ни один каталог или файл не может иметь в своем имени.

FOR разделит строку на подстроки, используя пробел и горизонтальную табуляцию в качестве разделителей, и назначит только первую строку с пробелом/символом табуляции для указанной переменной цикла I . Такое поведение разделения здесь нежелательно, поскольку имя каталога может содержать один или несколько пробелов. Поэтому delims= используется для определения пустого списка разделителей, чтобы отключить режим разделения строк и получить привязку к переменной цикла, I , всегда полное имя каталога.

Команда FOR запускает команду RD для каждого имени каталога без пути, поэтому в командной строке RD необходимо еще раз указать путь к папке, который объединяется с именем подпапки.

Илон Маск рекомендует:  Требования к cms в эпоху веб 2 0

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

Команда MKDIR и RMDIR для создания и удаления каталога.

Команда MKDIR используется для создания каталога или подкаталога. Команда имеет следующий синтаксис: MKDIR[диск:]путь. Как видно из синтаксиса команда, параметр «путь» является обязательным. Данный параметр определяет название создаваемого каталога.

Например, создадим на диске «C» папку «MyFolder»: mkdir MyFolder

Теперь загляните на диск «C». Если вы все сделали правильно, в корневой директории появится папка «MyFolder». В данном случае мы создали папку в текущей директории. Теперь создадим папку «MyFolder1» на диске «D»: mkdir d:\MyFolder

Теперь на диске «D» есть папка «MyFolder1»
Если необходимо создать подкаталог, то используются те же самые команды с указанием всех подкаталогов.
Например, создадим папку «мир», которая находится в папке «привет», которая в свою очередь находится на диске «C»: mkdir привет\мир

Теперь, если вы зайдете на диск «C», то увидите там папку «привет», а в этой папке – папку «мир». Таким способом можно создавать подкаталоги, уровень вложенности которых ограничен лишь объемом памяти жесткого диска.
Команда MKDIR не сработает, если вы попытаетесь создать каталог, который уже существует в выбранной директории.
Например, создадим на диске «D» еще одну папку с названием «MyFolder1»

Команда RMDIR удаляет каталог или подкаталог. Cинтаксис команды: RMDIR[/S][Q][диск:]путь.
Например, удалим с диска «D», созданную ранее папку «MyFolder1»: rmdir d:\MyFolder1

Команда RMDIR не будет выполнена, если в удаляемом каталоге находятся другие каталоги или файлы.
Например, удалим папку «привет» с диска «C» (если не забыли, в этой папке содержится еще одна папка «мир»): rmdir привет
Для того чтобы удалить каталог вместе со всеми подкаталогами и файлами используются ключ /S или /Q
При использовании ключа /S команда RMDIR удалит каталог вместе со всем содержимым. При удалении на экран будет выведено сообщение о подтверждении удаления. rmdir /S привет

На экран выводится сообщение. При нажатии на клавишу «y» папка «привет» удалится вместе со всем содержимым.
Параметр /Q отключает запрос на подтверждение удаления непустого каталога: rmdir /S /Q привет

Обратите внимание, что в данном случаем в одной команде используется сразу 2 ключа. Ключ /S позволяет удалять каталог вместе со всем содержимым, а ключ /Q отключает запрос на подтверждение удаления.

Команду MKDIR можно записать как MD. Обе команды аналогичны друг и являются сокращениями от англ. «make directory» — создать каталог.

Команду RMDIR можно записать как RD. Обе команды аналогичны друг и являются сокращениями от англ. «remove directory» — удалить каталог.

Как удалить файлы, содержащие в имени определенное слово, из каталога и подкаталогов?

Нужно сделать bat-файл, при запуске которого, он удалит файлы из папки, в которой находится, и всех подпапок.

написал такую команду:
del /F /S /P D:\path\*слово*.*
(для определенной папки)

Но, видимо, что-то не так.

  • Вопрос задан более трёх лет назад
  • 2185 просмотров

1*»
Или сразу путь в параметре передавать, вместе с шаблонным словом:
del /F /S /P «%

Как удалить папку или все файлы из папки через VBA

Предположим, что ежедневно во временную папку поступают файлы отчетов от филиалов. Они могут собираться из почты кодом вроде такого: Сохранить вложения из Outlook в указанную папку или добавляться в папку иными средствами. Далее Вы собираете данные из этих файлов неким кодом(вроде этого — Как собрать данные с нескольких листов или книг?). Но с каждым днем файлов все больше и больше и приходится заходить в папку и руками чистить её от лишних файлов, чтобы при сборе данных не приходилось каждый раз искать и отбирать только новые файлы.
Если надо удалять только конкретные файлы(например только файлы Excel, содержащие в имени слово «отчет»), то можно использовать такой код:

Sub Remove_AllFilesFromFolder() Dim sFolder As String, sFiles As String ‘диалог запроса выбора папки с файлами ‘подробнее про диалоги выбора папки или файла: ‘ http://www.excel-vba.ru/chto-umeet-excel/dialogovoe-okno-vybora-fajlovpapki/ With Application.FileDialog(msoFileDialogFolderPicker) If .Show = False Then Exit Sub sFolder = .SelectedItems(1) End With sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, «», Application.PathSeparator) ‘отбирать только файлы Excel, содержащие в имени слово «отчет» sFiles = Dir(sFolder & «*отчет*.xls*») ‘цикл по всем файлам в папке On Error Resume Next Do While sFiles <> «» ‘удаляем файл Kill sFolder & sFiles If Err.Number = 70 Then MsgBox «Невозможно удалить файл ‘» & sFiles & «‘. Возможно файл открыт в другой программе или нет прав на удаление», vbCritical, «www.excel-vba.ru» Err.Clear End If ‘на всякий случай передаем управление системе, ‘чтобы дождаться удаления DoEvents ‘получаем имя следующего файла в папке sFiles = Dir Loop End Sub

Чтобы удалять полностью все файлы в папке, но папку оставить, то строку sFiles = Dir(sFolder & «*отчет*.xls*») надо записать так: sFiles = Dir(sFolder & «*»)

Если необходимо удалять файлы по дате создания/изменения(например, только файлы, созданные раньше 01.03.2020), то можно использовать такой код:

Sub Remove_FilesFromFolder_AfterDate() Dim sFolder As String, sFiles As String Dim dd As Date, dKill As Date ‘задаем дату. Если файл был создан/изменен до этой даты — он будет удален dKill = CDate(«01.03.2020») ‘можно задать проще: dKill = #3/1/2020# ‘диалог запроса выбора папки с файлами ‘подробнее про диалоги выбора папки или файла: ‘ http://www.excel-vba.ru/chto-umeet-excel/dialogovoe-okno-vybora-fajlovpapki/ With Application.FileDialog(msoFileDialogFolderPicker) If .Show = False Then Exit Sub sFolder = .SelectedItems(1) End With sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, «», Application.PathSeparator) sFiles = Dir(sFolder & «*») ‘цикл по всем файлам в папке On Error Resume Next Do While sFiles <> «» ‘получаем дату создания или изменения файла dd = FileDateTime(sFolder & sFiles) ‘если дата файла меньше заданной для удаления(был создан раньше) If dd dKill = CDate(«01.03.2020») нужно заменить на такую: dKill = Date . Если удалить надо файлы недельной давности, то: dKill = Date-7

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

Sub RemoveFolderWithContent() Dim sFolder As String, sFiles As String ‘диалог запроса выбора папки на удаление With Application.FileDialog(msoFileDialogFolderPicker) If .Show = False Then Exit Sub sFolder = .SelectedItems(1) End With sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, «», Application.PathSeparator) ‘путь к папке можно задать статично, если он заранее известен и не изменяется ‘ sFolder = «C:\temp\Ежедневные отчеты\10072020» ‘путь к папке, которую надо удалить Shell «cmd /c rd /S/Q «»» & sFolder & «»»» End Sub

Этот код удалить папку вместе со всеми файлами буквально за секунду.
Вообще в VBA есть специальная команда для удаления директорий(папок) RmDir . Но она способна удалить только пустую папку, поэтому редко когда можно найти её практическое применение. Если в файле есть хоть один файл то команда RmDir выдаст ошибку ’75’ — File/Path access error .

Статья помогла? Поделись ссылкой с друзьями!

Как удалить файлы и каталоги в терминале Linux?

Команды rm и rmdir удаляют файлы и каталоги в Linux, macOS и других Unix-подобных операционных системах. Они похожи на команды del и deltree в Windows и DOS. Эти команды очень мощные и имеют довольно много опций.

Важно отметить, что файлы и каталоги, удаленные с помощью rm и rmdir , не перемещаются в корзину. Они сразу же удаляются с вашего компьютера. Если вы случайно удалили файлы с помощью этих команд, вы сможете восстановить их только из резервной копии.

Как удалить файлы с помощью rm

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

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

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

Подстановочные знаки могут использоваться для выбора групп файлов, которые будут удалены. Знак * представляет несколько символов, а символ ? представляет один символ. Эта команда удалит все файлы изображений png в текущем рабочем каталоге.

Эта команда удалит все файлы с одним символьным расширением. Например, это удалит File.1 и File.2, но не File.12.

Если файл защищен от записи, вам будет предложено удалить файл. Вы должны ответить с помощью y или n и нажать «Enter».

Чтобы снизить риск использования rm с подстановочными знаками, используйте параметр -i (интерактивный). Для этого необходимо подтвердить удаление каждого файла.

Опция -f (сила) противоположна интерактивной. Он не запрашивает подтверждение, даже если файлы защищены от записи.

Как удалить каталоги с помощью rm

Чтобы удалить пустой каталог, используйте опцию -d (directory). Вы можете использовать подстановочные знаки (* и ?) В именах каталогов так же, как и в именах файлов.

Предоставление более одного имени каталога удаляет все указанные пустые каталоги.

Чтобы удалить не пустые каталоги, используйте параметр -r (рекурсивный). Чтобы было ясно, это удаляет каталоги и все файлы и подкаталоги, содержащиеся в них.

Если каталог или файл защищен от записи, вам будет предложено подтвердить удаление. Чтобы удалить не пустые каталоги и подавить эти приглашения, используйте вместе параметры -r (рекурсивный) и -f (принудительный).

Здесь требуется осторожность. Ошибка в команде rm -rf может привести к потере данных или неисправности системы. Это опасно, и осторожность — лучшая политика. Чтобы получить представление о структуре каталогов и файлах, которые будут удалены командой rm -rf, используйте команду tree .

Используйте apt-get для установки этого пакета в вашу систему, если вы используете Ubuntu или другой дистрибутив на основе Debian. В других дистрибутивах Linux используйте инструмент управления пакетами вашего дистрибутива Linux.

Выполнение команды tree дает простую для понимания диаграмму структуры каталогов и файлов под каталогом, из которого она запускается.

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

Команда rm также имеет параметры —one-file-system , —no-preserve-root , —preserve-root , но они рекомендуются только для опытных пользователей. Если вы что-то не так, вы можете случайно удалить все ваши системные файлы.

Как удалить каталоги с помощью rmdir

Есть еще одна команда rmdir , которую вы можете использовать для удаления каталогов. Разница между rm и rmdir том, что rmdir может удалять только пустые каталоги. Он никогда не удалит файлы.

Самый простой случай — удаление одного пустого каталога. Как и в случае с rm , вы можете передать несколько имен каталогов в rmdir или rmdir путь к каталогу.

Удалите один каталог в текущем каталоге, передав его имя в rmdir :

Удалите несколько каталогов, передав список имен в rmdir :

Удалите каталог не в текущем каталоге, указав полный путь к этому каталогу:

Если вы попытаетесь удалить не пустую папку, rmdir выдаст вам сообщение об ошибке. В следующем примере rmdir успешно и без вывода сообщений удаляет каталог clients но отказывается удалять каталог projects поскольку он содержит файлы. Каталог projects остается точно таким, каким он был, а файлы в нем нетронутыми.

Когда rmdir выдает ошибку «Directory not empty», он прекращает обработку каталогов, переданных ему в командной строке. Если вы попросили удалить четыре каталога, а в первом содержались файлы, rmdir выдаст вам сообщение об ошибке и больше ничего не сделает. Вы можете заставить его игнорировать эти ошибки с —ignore-fail-on-non-empty чтобы обрабатывать другие каталоги.

В следующем примере две папки были переданы в rmdir , это work/reports и work/quotes. Параметр —ignore-fail-on-non-empty включен в команду. В папке work/reports находятся файлы, поэтому rmdir не может удалить ее. Опция —ignore-fail-on-non-empty заставляет rmdir игнорировать ошибку и переходить к следующей папке, которую он должен обработать, это work/quotes. Это пустая папка, и rmdir удаляет ее.

Эта команда использовалась.

Вы можете использовать опцию -p (parent), чтобы удалить каталог, а также удалить его родительские каталоги. Этот прием работает, потому что rmdir начинается с целевого каталога, а затем возвращается к родительскому. Теперь этот каталог должен быть пустым, поэтому он может быть удален rmdir, и процесс повторяет шаг назад по пути, предоставленному rmdir.

В следующем примере команда, переданная в rmdir:

Каталоги invoices и work удаляются по запросу.

Используете ли вы Bash или любую другую оболочку? Linux предоставляет гибкие и мощные команды для удаления каталогов и файлов прямо из командной строки терминала. Некоторые люди предпочитают иметь рабочий процесс, который вращается вокруг терминала. У других может не быть выбора в этом вопросе. Они могут работать на серверах без установленного графического интерфейса или в удаленном сеансе в автономной системе, такой как Raspberry Pi. Эти команды идеально подходят для этой группы людей.

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

Илон Маск рекомендует:  Что такое код asp passwordexpireprenotifydays

Как удалить файлы/подпапки в определенном каталоге в командной строке в Windows

Скажем, есть переменная с именем %pathtofolder% , поскольку она ясно показывает, что это полный путь к папке.

Я хочу удалить все файлы и подпапки в этом каталоге, но не сам каталог.

Но может быть ошибка типа «этот файл/папка уже используется». когда это происходит, нужно просто продолжить и пропустить этот файл/папку.

Есть ли какая-то команда для этого?

Вы можете использовать эту оболочку script для очистки папки и файлов в C:\Temp источнике:

Создайте командный файл (скажем, delete.bat), содержащий указанную выше команду. Перейдите в папку, где находится файл delete.bat, а затем запустите команду: delete.bat

rmdir — моя любимая команда во все времена для задания. Он работает для удаления огромных файлов и папок с подпапками. Резервная копия не создается, поэтому перед выполнением этой команды убедитесь, что вы скопировали файлы.

Это тихо удаляет папку и все файлы и подпапки.

Самое простое решение, о котором я могу думать, — удалить весь каталог с помощью

Затем снова создайте этот каталог:

Это позволит удалить папки и файлы и оставить папку позади.

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

Вы получите сообщение об ошибке, сообщите, что команда RMDIR не может получить доступ к текущей папке, поэтому она не может ее удалить.

Обновление:

Из этого полезного комментария (спасибо Moritz Both) вы можете добавить && между ними, поэтому RMDIR не будет работать, если команда CD завершится неудачно (например, неверное имя каталога):

/S: Удаляет дерево каталогов (указанный каталог и все его подкаталоги, включая все файлы).

/Q: задает тихий режим. Не запрашивает подтверждение при удалении дерева каталогов. (Заметим, что /q работает, только если задано /s.)

RD означает REMOVE Directory.

/S: удаление всех файлов и подпапок в дополнение к самой папке. Используйте это, чтобы удалить все дерево папок.

/Q: Тихо — не отображать подтверждение YN

Я использую Powershell

Он удалит содержимое папки, а не папку.

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

Чтобы удалить файл:

Чтобы удалить папку со всеми файлами в ней:

Удаление всех файлов из определенной папки (не удаление самой папки) немного сложнее. del /s *.* не удается удалить папки, но удаляет файлы из всех подпапок. Поэтому необходимы две команды:

Используйте Блокнот, чтобы создать текстовый документ и скопировать/вставить это:

Выберите Сохранить как и имя файла:

Сохранить как тип: все файлы и нажмите кнопку Save .

Он работает на любой учетной записи (администратор или обычный пользователь). Просто запустите!

В этом примере я использую временную переменную, но вы можете использовать любую другую! PS: только для ОС Windows!

Ни один из ответов, опубликованных в 2020-06-01, , за исключением единственной командной строки, опубликованной foxidrive, действительно не удалил все файлы и все папки/каталоги в %PathToFolder% , Причиной публикации еще одного ответа с очень простой единой командной строкой для удаления всех файлов и подпапок папки, а также пакетного файла с более сложным решением, объясняющего, почему все остальные ответы, опубликованные в 2020-06-01 с использованием DEL и FOR с RD не удалось полностью очистить папку.

Простое решение для единой командной строки, которое, конечно же, также можно использовать в командном файле:

Эта командная строка содержит три команды, выполняемые одна за другой.

Первая команда PUSHD помещает текущий путь к каталогу в стек, а затем делает %PathToFolder% текущим каталогом для запуска процесса команды.

Это также работает для путей UNC по умолчанию, поскольку расширения команд включены по умолчанию, и в этом случае PUSHD создает временную букву диска, которая указывает на указанный сетевой ресурс, а затем изменяет текущий диск и каталог, используя только что определенную букву диска.

PUSHD выводит следующее сообщение об ошибке для обработки STDERR, если указанный каталог вообще не существует:

Система не может найти указанный путь.

Это сообщение об ошибке подавляется путем перенаправления его с помощью 2>nul на устройство NUL.

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

Команда RD с параметрами /Q и /S удаляет каталог спокойно со всеми подкаталогами, даже если указанный каталог содержит файлы или папки со скрытым атрибутом или с установленным атрибутом только для чтения. Системный атрибут никогда не препятствует удалению файла или папки.

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

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

Файлы/папки, для которых у текущего пользователя нет необходимых (NTFS) разрешений на удаление файла/папки, что также предотвращает удаление дерева папок в этот файл/папку.

Первая причина не удалять папку используется этой командной строкой для удаления всех файлов и подпапок указанной папки, но не самой папки. Папка временно становится текущей директорией для запуска командного процесса, который предотвращает удаление самой папки. Конечно, это приводит к выводу сообщения об ошибке командой RD:

Процесс не может получить доступ к файлу, поскольку он используется другим процессом.

Файл — это неправильный термин, поскольку в действительности папка используется другим процессом, текущим командным процессом, который выполнил команду RD. Ну, на самом деле папка для файловой системы — это специальный файл с каталогом атрибутов файла, который объясняет это сообщение об ошибке. Но я не хочу слишком углубляться в управление файловой системой.

Это сообщение об ошибке, как и все другие сообщения об ошибках, которые могут возникать по трем причинам, указанным выше, подавляется путем перенаправления его с помощью 2>nul из дескриптора STDERR на устройство NUL.

Третья команда, POPD, выполняется независимо от значения выхода команды RD.

POPD извлекает путь из каталога, выдвинутый PUSHD, из стека и изменяет текущий каталог для запуска процесса команды на этот каталог, то есть восстанавливает исходный текущий каталог. POPD удаляет временную букву диска, созданную PUSHD в случае пути к папке UNC.

Примечание. POPD может молчать, если не удается восстановить исходный текущий каталог, если исходный текущий каталог был подкаталогом каталога для очистки, который больше не существует. В этом особом случае %PathToFolder% остается текущим каталогом. Поэтому желательно запускать командную строку выше, а не из подкаталога %PathToFolder% .

Еще один интересный факт: Я пробовал в командной строке также использовать UNC-путь, используя общий каталог C:\Temp с общим именем Temp и используя UNC-путь \\%COMPUTERNAME%\Temp\CleanTest , назначенный переменной среды PathToFolder в Windows 7. Если текущий каталог запущен из командной строки является подкаталогом общей локальной папки, доступ к которой осуществляется по UNC-пути, т.е. C:\Temp\CleanTest\Subfolder1 , Subfolder1 удаляется RD, а следующая POPD молча завершается ошибкой, снова делая C:\Temp\CleanTest\Subfolder1 текущий каталог, в результате чего Z:\CleanTest остается в качестве текущего каталога для выполняющегося командного процесса. Таким образом, в этом очень особом случае временная буква диска остается до тех пор, пока текущий каталог не изменится, например, с помощью cd /D %SystemRoot% на действительно существующий локальный каталог. К сожалению, POPD не завершается со значением больше 0, если не удается восстановить исходный текущий каталог, что делает невозможным обнаружение этого особого состояния ошибки, используя только код выхода POPD. Однако можно предположить, что никто никогда не сталкивался с этим особенным случаем ошибки, поскольку пути UNC обычно не используются для доступа к локальным файлам и папкам.

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

Теперь давайте посмотрим на решение для пакетных файлов, используя команду DEL для удаления файлов в %PathToFolder% и FOR и RD для удаления подпапок в %PathToFolder% .

Пакетный файл сначала проверяет, что переменная среды PathToFolder действительно определена с путем к папке без двойных кавычек и без обратной косой черты в конце. Обратная косая черта в конце не будет проблемой, но двойные кавычки в пути к папке могут быть проблематичными, поскольку значение PathToFolder объединяется с другими строками во время выполнения пакетного файла.

Важны две строки:

Команда DEL используется для удаления всех файлов в указанном каталоге.

  • Опция /A необходима для обработки всех файлов, включая файлы со скрытым атрибутом, которые DEL игнорирует без использования опции /A .
  • Параметр /F необходим для принудительного удаления файлов с установленным атрибутом только для чтения.
  • Опция /Q необходима для тихого удаления нескольких файлов без запроса пользователя, действительно ли нужно удалить несколько файлов.
  • >nul необходимо перенаправить вывод имен файлов, записанных для обработки STDOUT, на устройство NUL, которое невозможно удалить из-за того, что файл в данный момент открыт или у пользователя нет разрешение на удаление файла.
  • 2>nul необходимо перенаправить вывод сообщения об ошибке для каждого файла, который нельзя удалить из дескриптора STDERR, на устройство NUL.

Команды FOR и RD используются для удаления всех подкаталогов в указанном каталоге. Но for /D не используется, поскольку FOR в этом случае игнорирует подкаталоги с установленным атрибутом hidden. По этой причине for /F используется для запуска следующей командной строки в отдельном командном процессе, запущенном в фоновом режиме с помощью %ComSpec% /c :

DIR выводит в чистом формате из-за /B записей каталога с атрибутом D , то есть имен всех подкаталогов в указанном каталоге, независимых от других атрибутов, таких как скрытый атрибут без пути. 2>nul используется для перенаправления сообщения об ошибке, выводимого DIR, на отсутствие каталога из дескриптора STDERR на устройство NUL.

Оператор перенаправления > должен быть экранирован с помощью символа вставки ^ в командной строке FOR, чтобы интерпретироваться как литеральный символ, когда интерпретатор команд Windows обрабатывает эту командную строку перед выполнением команды FOR, который выполняет встроенную командную строку dir в отдельном командном процессе, запущенном в фоновом режиме.

FOR обрабатывает захваченный вывод, записанный для обработки STDOUT запущенного командного процесса, которые являются именами подкаталогов без пути и никогда не заключаются в двойные кавычки.

FOR с опцией /F игнорирует пустые строки, которые здесь не встречаются, так как DIR с опцией /B не выводит пустые строки.

FOR также игнорирует строки, начинающиеся с точки с запятой, которая является символом конца строки по умолчанию. Имя каталога может начинаться с точки с запятой. По этой причине eol=| используется для определения символа вертикальной черты как символа конца строки, который ни один каталог или файл не может иметь в своем имени.

FOR разделит строку на подстроки, используя пробел и горизонтальную табуляцию в качестве разделителей, и назначит только первую строку с пробелом/символом табуляции для указанной переменной цикла I . Такое поведение разделения здесь нежелательно, поскольку имя каталога может содержать один или несколько пробелов. Поэтому delims= используется для определения пустого списка разделителей, чтобы отключить режим разделения строк и получить привязку к переменной цикла, I , всегда полное имя каталога.

Команда FOR запускает команду RD для каждого имени каталога без пути, поэтому в командной строке RD необходимо еще раз указать путь к папке, который объединяется с именем подпапки.

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

Удаление папки или программы в командной строке

Всем привет Поговорим сегодня о том, как удалять папки. Но не так, как это все делают, а по особому — при помощи командной строки… Так что смотрите, у вас есть небольшая возможность стать немного круче в плане знаний компьютерных…

Давайте сперва немного вернемся в прошлое и узнаем что вообще такое это командная строка и почему в ней есть много команд. Значит командная строка, это еще как бы отголосок тех времен, когда был DOS. Это такая система, ну типа Windows в зародыше, там не было ни окон, там вообще была тьма в прямом смысле. И вот так вот пользовались, вводили команды и что-то там делали. Ну и как бы это все сохранилось до сих пор, хотя мало кто пользуется.

Также мы рассмотрим и другие вопросы по поводу командной строки, надеюсь что вам это все будет интересно!

Ну я написал так как знаю сам, зачем мне вас грузить какими-то там терминами специфическими… Эта командная строка может работать и без Windows вообще, вот именно поэтому она доступна и при восстановлении винды..

Самое командной строкой сейчас мало пользуются, но в основном как пользоваться знают админы и всякие продвинутые юзеры

Илон Маск рекомендует:  Iis публикация с помощью office 2000

Важное замечание я должен вам сделать. Это так бы сказать вам совет. Вот в командной строке вы можете вводить там всякие команды, ну и все такое. Тут главное обратите внимание на путь. Просто путь. Ну вот путь, то есть например где-то папка есть, и путь к ней вы вводите, ну вот чтобы ее удалить. Так вот, внимание, если путь очень большой или в нем там пробелы есть, то чтобы не было косяков, заключайте его в кавычки. Если путь короткий, например:

То его не нужно заключать в кавычки, а если путь длинный, в нем пробелы, то нужно, ну вот например:

«C:\Program Files (x86)\Papka papki\fale papki.txt»

И вот так его пишите в командной строке, именно в кавычках, тогда не будет косяков. Ну, надеюсь что поняли

Как удалить папку через командную строку?

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

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

Я покажу на примере Windows 7, но в других виндах все почти также, вроде ничего не менялось. Смотрите, зажимаете кнопки Win + R и пишите туда такую команду как:

Откроется командная строка, такое вот черное окно:

Вот она какая, командная строка! Теперь смотрите, вот в это окно нужно вводить команду, потом нажимать энтер и потом уже будет показан результат. Но какую команду нужно ввести чтобы удалить папку? А вот какую:

Это вроде расшифровывается как remove directory, ну то есть удалить директорию (папку).

Вот эту команду и путь к папке нужно ввести в эту командную строку. Я специально создал папку тестовую на диске C и так ее и назвал — Test. И вот теперь, чтобы ее удалить через командную строку, то мне нужно просто ввести такую команду:

Вот как это выглядит в самой командной строке:

Нажимаю энтер и вот результат какой:

Если вам кажется, что ничего не произошло, то вы ошибаетесь! Смотрите, нет никакой ошибки в итоге, а это значит что все прошло отлично и папка удалилась! Я таки потом проверил на диске и да, папки уже не было

Итак, но есть еще кое что интересное. В общем смотрите, есть еще такое понятие как ключи команды. Ключи, это такие дополнительные возможности команды. Ну вот у команды rmdir есть ключи, которые позволяют без запросов удалить папку со всеми вложенными папками и файлами. По поводу запросов это я имею ввиду что не будет сообщения, мол вы уверены что хотите удалить, ну думаю вы поняли. Вот как выглядит команда для удаления папки со всеми подпапками и файлами внутри:

rmdir /S /Q C:\Test

Ну только тут вместо C:\Test вы укажите свою папку, которую нужно удалить. А вообще знаете что? Можно в командной строке набрать rmdir /? и будет показана инструкция по дополнительным ключам:

Но правда признаюсь, что мне не всегда понятны эти инструкции…

Как удалить файл через командную строку?

Файл также можно удалить без проблем из командной строки, и это тоже не сложно, так что не переживайте

Смотрите, запускаете командную строку опять, ну так как я показывал уже выше. То есть Win + R и там пишите cmd и нажимаете ОК и все, она появляется. Вот чтобы удалить файл, то нужно воспользоваться такой командой как:

Я вот подумал, ну del это значит delete. Но нет! Команды такой как delete нет, так что вводите только del!

Итак, смотрите, у меня на диске C:\ есть созданный тестовый файл Test.txt, попробуем его удалить при помощи команды del, для этого в командной строке пишем такое как:

Вот как это выглядит в командной строке:

А вот результат:

Ну вы тут опять можете подумать, ну что за дела, ничего в ответе нема! Но нет ребята, ответа от команды нет, потому что нет ошибок!

Я потом проверил, таки да, на системном диске файла Test.txt уже не было, так что все прошло отлично!

Но опять же я хочу вам еще сказать о дополнительных ключах, они есть и у команды del, вот смотрите, чтобы удалить без всяких запросов, то нужно добавить ключ /Q:

Можете посмотреть справку этой команды, если введете вот такое как del /?, в итоге вот что у вас отобразится:

Все, думаю теперь вы знаете как удалять файлы при помощи командной строки!

Вот все написал, но кое что интересное — забыл написать! Короче ребята, смотрите, вот например у вас есть папка C:\Test, а в ней куча файлов. Вот как удалить все файлы в папке Test, но именно текстовые? Чтобы удалить все текстовые файлы, нужно указать, что имя удаляемых файлов вам по барабану, главное чтобы это были текстовые! Вот так и пишите:

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

Как удалить программу через командную строку в Windows 7?

А вот это уже немного интересная штука. Я покажу как удалять программы из командной строки, но скажу сразу, я так никогда не удалял. Ну как-то не доходило до этого, что-то не было таких страшных проблем с компом, что нужно было удалять только при помощи командной строки…

Но в жизни бывает то всякое…

Итак, попробуем. Чтобы при удалении программ из командной строки не было проблем, то лучше ее запустить от администратора. Вот смотрите, как это сделать легко в Windows 7:

То есть понятно да, пишите в строке там в Пуске слово командная, потом она появляется в результатах и там вы уже нажимаете по ней правой кнопкой и выбираете Запуск от администратора! Ну короче, это не сложно

Кстати, чтобы запустить в Windows 10 от администратора, то нужно нажать правой кнопкой по значку Пуск и выбрать там Командная строка от администратора. Ну или зажать Win + X и там в меню тоже будет этот пункт.

Запущена командная строка от администратора, отлично, теперь делаем вот что. Чтобы зайти в потусторонний мир, где можно удалять проги прямо из командной строки, то пишем вот такую команду:

Нажимаем энтер и мир этот уже открылся:

Если видите что у вас тоже есть вот такое как:

То это значит что все у вас получилось, вы почти супер-мега-юзер

Теперь, чтобы увидеть все установленные проги, то нужно ввести команду такую:

product get name

Вот я ее ввел и вот что получилось:

Ребята, скажу сразу, что я вот ввел команду и думаю, что за дела, что за косяк, уже начал расстраиваться — ведь ничего не было в ответ. Но судя по тому, что жесткий диск пыхтел, я ждал и дождался. Вывод такой — нужно немного подождать, чтобы отобразился весь список программ. У меня он то большой, может поэтому и долго!

Теперь смотрите, чтобы удалить какую-то прогу и при этом не было запроса для подтверждения, то нужно ввести такую команду:

product where name=»ТУТ_НАЗВАНИЕ_ПРОГИ» call uninstall /nointeractive

В общем как видите тут косяк так косяк — нужно вручную написать программу, ибо скопировать ее с командной строки нельзя! А название проги нужно брать именно оттуда! Может быть и можно как-то скопировать, но я не знаю как. Никогда так программы не удалял

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

product where name=»Менеджер браузеров» call uninstall /nointeractive

Короче вот я ее ввел:

И вот какой результат:

Вот видите там есть такое как:

Method execution successfull

Это означает что все прошло успешно! Ребята, я не знаю что вам сказать, да у меня получилось удалить этот Менеджер браузеров, но все равно мне кажется, что это какой-то такое способ мутноват.. Ну блин, как это удалять через командную строку? Ну бывает же такое, что при удалении там еще такие опции, мол удалить и настройки ну и все такое, вот эти опции, неизвестно, они отключены или включены при таком вот удалении? Я лично не знаю. Короче дело такое, я написал вам как это сделать, это работает, сам проверил, но лучше использовать обычное удаление программ через окно Программы и компоненты (меню Пуск > Панель управления > Программы и компоненты).

Как запустить командную строку от администратора в Windows 7?

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

В общем смотрите, сперва запускаете диспетчер задач, нажимаете правой кнопкой по панели задач и выбираете там такой пункт:

Потом в диспетчере вы нажимаете меню Файл и там выбираете Новая задача:

И потом уже там указываете команду cmd и нажимаете ОК:

Ну вот таким образом вы точно сможете запустить командную строку от администратора.

Как в командной строке перейти в папку другую?

Значит командная строка, как много она умеет и как мало мы о ней знаем..

Ну это так, мысли вслух. Вот например работаете вы в командной строке, как в ней перейти вообще в другую папку? Очень просто. Если вам нужно, например попасть в папку Java, которая расположена в Program Files (x86), то нужно ввести такую команду:

cd «C:\Program Files (x86)\Java»

Вот я вставил эту команду в командную строку:

Нажал энтер и вот результат:

То есть видите — все просто, ура, все получится и у вас!

Как в командной строке перейти на другой диск?

Вот вам например нужно перейти на другой диск в командной строке. Как это сделать правильно? Вообще-то я думал, что для того чтобы перейти на другой диск, то достаточно будет команды cd — но оказалось что нет, это не совсем то что нужно. Оказывается все намного проще, ну вот запускаю я командную строку, вот какой у нее вид:

Ну то есть как обычно системный диск C:\, все как обычно. Но вот теперь чтобы перейти в диск D, то нужно просто написать диск и две точки, ну то есть вот так:

Потом я нажал энтер и вот что в результате вышло:

Ну то есть как видите все это сработало, то есть тут нужно просто писать букву диска и две точки, и все!

Ну что ребята, на этом все, я честно надеюсь что все вам тут было понятно, что инфа вам эта помогла ответить на какой-то вопрос. Удачи вам и хорошего настроения!

Как удалить непустой каталог в С++?

В С++, как я могу удалить каталог со всеми его содержащимися файлами? Я знаю, что есть rmdir , но он удалит только непустые каталоги, поэтому как мне сначала перечислить и удалить все содержащиеся файлы?

Я знаю, что это не должно быть сложно с помощью Boost Fileystem, но я вроде бы не хочу строить и в зависимости от этого просто для этой маленькой задачи.

Да, вы обычно должны сначала удалить содержимое. Если вы не хотите использовать Boost для этого, вы в значительной степени застреваете в написании непереносимого кода, чтобы найти все файлы (например, FindFirstFile , FindNextFile в Windows, opendir , readdir on Unix и т.д.) Рекурсивно и удалить все из них.

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

Как и в большинстве COM-объектов, интерфейс IFileOperation , по-видимому, разработан специально для того, чтобы быть как можно более неуклюжим (например, IFileOperation::DeleteItem фактически ничего не удаляет — он просто добавляет элемент в список вещей для Затем вы должны вызвать IFileOperation::PerformOperations для фактического удаления.

Как удалить файлы, содержащие в имени определенное слово, из каталога и подкаталогов?

Нужно сделать bat-файл, при запуске которого, он удалит файлы из папки, в которой находится, и всех подпапок.

написал такую команду:
del /F /S /P D:\path\*слово*.*
(для определенной папки)

Но, видимо, что-то не так.

  • Вопрос задан более трёх лет назад
  • 2185 просмотров

1*»
Или сразу путь в параметре передавать, вместе с шаблонным словом:
del /F /S /P «%

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL