Пользуюсь виндой.
Я хочу удалить все файлы и папки в папке с помощью системного вызова.
Я могу так называть:
>rd /s /q c:\destination
>md c:\destination
Вы знаете способ попроще?
windows
batch-file
уфукгун
источник
источник
Ответы:
Нет, не знаю.
Если вы по какой-то причине хотите сохранить исходный каталог (ACL и т. Д.), А вместо этого действительно хотите его очистить, вы можете сделать следующее:
Это сначала удаляет все файлы из каталога, а затем рекурсивно удаляет все вложенные каталоги, но в целом сохраняет каталог верхнего уровня таким, какой он есть (за исключением его содержимого).
Обратите внимание , что в пакетном файле вы должны удвоить
%
внутриfor
цикла:источник
destination
путем, возможно, при необходимости заключая все в кавычки.del c:\destination\*.* /s /q
работал у меня. Надеюсь, это сработает и для вас.источник
del *.*
del "../../server/front-end\*.*"
Я думаю, что самый простой способ сделать это:
Последний «\» на пути - важная часть.
источник
mkdir C:\FolderToNotToDelete
меня было достаточно :)Да! Используйте Powershell:
источник
Если имена вложенных папок могут содержать пробелы, вам необходимо заключить их в экранированные кавычки. В следующем примере это показано для команд, используемых в пакетном файле.
источник
Чтобы удалить файл:
Чтобы удалить папку со всеми файлами в ней:
Удалить все файлы из определенной папки (не удаляя саму папку) немного сложно.
del /s *.*
не может удалять папки, но удаляет файлы из всех подпапок. Итак, необходимы две команды:Вы можете создать сценарий для удаления всего, что хотите (папку или файл), например
mydel.bat
:Несколько примеров использования:
источник
Один простой однострочный вариант - создать пустой каталог где-нибудь в вашей файловой системе, а затем использовать
ROBOCOPY
( http://technet.microsoft.com/en-us/library/cc733145.aspx ) с/MIR
переключателем для удаления всех файлов и вложенные папки. По умолчанию robocopy не копирует безопасность, поэтому списки ACL в корневой папке должны оставаться неизменными.Также, вероятно, вы захотите установить значение для переключателя повторов
/r
, потому что количество повторов по умолчанию составляет 1 миллион.источник
У меня была индексная папка с 33 папками, из которых нужно было удалить все файлы и подпапки. Я открыл командную строку в папке index и затем использовал следующие команды:
Я разделил их на две строки (нажмите Enter после первой строки, а когда вас попросят добавить вторую строку), потому что, если ввести в одной строке, это может не сработать. Эта команда сотрет каждый каталог, а затем создаст новый, который будет пустым, тем самым удалив все файлы и вложенные папки в исходном каталоге.
источник
Перейдите в родительский каталог
Line1 pushd "Родительский каталог"
Удалить подпапки
Линия2 рд / сек / кв. 2> нуль
/superuser/173859/how-can-i-delete-all-files-subfolders-in-a-given-folder-via-the-command-prompt
источник
pushd
вы тоже должны использоватьpopd
. К сожалению,popd
не работает при удалении каталога. Итак, вы должны делатьcd
вместоpushd
.Требуется 2 простых шага. [/ q означает тихо, / f означает принудительно, / s означает подкаталог]
Очистите каталог, чтобы удалить
Удалить каталог
источник
попробуйте это, это будет искать все MyFolder в корневом каталоге и удалять все папки с именем MyFolder
источник
Эта команда удаляет все файлы и папки из текущей навигации в командной строке.
источник