Скрипт для удаления всех папок, в которых он находится - PullRequest
1 голос
/ 03 апреля 2009

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

Ответы [ 2 ]

5 голосов
/ 03 апреля 2009

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

Под cmd.exe в Windows, для файлов, вы можете запустить

del /s /q *

или удалить только папки и их содержимое,

for /d %d in (*.*) do rmdir /s /q %d

В большинстве оболочек Linux / UNIX для удаления файлов и папок вы можете запустить

rm -rf *

или, как указано ниже Деробертом (и немного прибрано), вы можете сделать только папки и их содержимое с помощью

find . -maxdepth 1 -not -name '.' -type d -exec rm -rf \{\} \;

Это найдет все каталоги в текущем каталоге (maxdepth 1), за исключением текущего каталога '.', И запустит rm -rf для каждого из них.

1 голос
/ 03 апреля 2009

В Unix вы можете сделать что-то вроде этого:

find -type d -maxdepth 1 -not -name '.' -print0 | xargs -0 rm -Rf

Это избавит от всех папок (и их содержимого) в текущем рабочем каталоге, оставив только файлы не внутри папки. Дано:

test/folder1
test/folder1/file1
test/file2

если вы запустите его в test, то останется только файл2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...