![]() |
Проблема такая: необходимо написать бат-файлик, который бы чистил директории.
Директории Station_1,...,Station_28 надо удалить все их содержимое. Как это сделать? Удалить, а потом создать заново к сожалению нельзя... нужно именно очистить. |
могу предложить такой вариант, хотя не исключено, что кто-то предложит лучше.
в бантнике прописываешь: Цитата:
|
SANtana
Не придется, если: del *.* /y |
Ребята это же только файлы....
а подкаталоги..... |
wolf
у del нет ключа /y dallas тогда вместо del набираешь erase |
SANtana
Действительно... хм... Правда erase dallas'у не поможет... Млин, как-же я делал? Вспомню - скажу... (если вспомню)... |
сорри, торможy erase тоже сaмое что и del.
комaндa yдaления директории rd, но нyжно знaть название директории. |
Да в том то и дело....
Там надо как-то получить список всех поддиректорий, а потом поочереди все поудалять Как это сделать я не знаю В инете чтото тоже похожего ничего не смог найти Может кто такое уже делал? |
dallas
А почему не прокатит удаление/создание заново директорий? |
Цитата:
Но команда rd не позволяет удалять непустые папки, следовательно удалять их прийдется из винды, а потом можно запустить батник по созданию папок: Цитата:
|
Где-то тут же, на Форуме предлагался финт ушами:
1. Создаешь папку целиком со своим деревом Station_1,...,Station_28 (пустые). 2. Делаешь её дубль в другом месте как пустой шаблон. 3. Когда нужно удалить содержимое базовой папки - удаляешь её просто целиком, а на её место копируешь пустой шаблон. |
Я сначала так с сделал: написал батник который в цикле удалял все папки Station_1 ... Station_28, а потом их заново создавал. Но проблема в другом: эти папки на линуксовом серваке находятся, соответственно при удалении и создании заново права на эти папки прописываются тому пользователю, который этот батник запустил и юзеры со своих компов зайти не могут.
Поэтому надо что бы он все содержимое очищал. Текст моего старого файлика: FOR /F %%i in (hosts) do rd c:\user\%%i /q /s FOR /F %%i in (hosts) do md c:\user\%%i В файле hosts по строкам все станции прописаны. До боли просто, но вот как сделать чтобы сами папки не удалялись???? |
=========
Если Винда на основе NT === RD === FOR /R [[диск:]путь] %переменная IN (набор) DO команда [параметры] Выполнение команды для каталога [диск:]путь, а также для всех подкаталогов этого пути. Если после ключа /R не указано имя каталога, выполнение команды начинается с текущего каталога. Если вместо набора указана только точка (.), команда выводит список всех подкаталогов. Пробежались по подкаталогам и все ненужное удалили. ============ Если Винда 9x === DelTree === DelTree [/y] [диск:]путь /y удалять без подтверждения |
Время: 21:11. |
Время: 21:11.
© OSzone.net 2001-