Удаление подкаталогов и файлов в данном каталоге - PullRequest
4 голосов
/ 17 марта 2012

Я хочу удалить все подкаталоги и файлы из каталога, но не сам каталог.Например, если я передаю каталог «Sample» в переменную, а каталог «Sample» содержит три подкаталога и 3 файла, я хочу удалить все эти 3 каталога и 3 файла.На практике каталог «Образец» может содержать множество подкаталогов и файлов.

1 Ответ

9 голосов
/ 17 марта 2012

ETA: Это на самом деле в perlfaq5: Как удалить дерево каталогов?

Используйте File::Path, основной модуль.

perl -MFile::Path=remove_tree -we 
    'remove_tree("Sample",{keep_root=>1}) or die $!'

Опция keep_root заставит remove_tree сохранить верхний каталог:

keep_root => $ bool

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

...