![]() |
Найти и удалить папку.
Здравствуйте ВСЕМ!
Подскажите как создать bat файл на тему: Есть на диске папка C:\User - в ней много всего(папок, файлов). Нужно среди этого всего найти папки VB_1, VB_2, VB_INF и т.д. и удалить их вместе с содержимым. пробовала так, но какая то ерунда выходит: Echo off FOR /D %%i IN ("C:\User\VB_*" ) DO RD "%%i" /S /Q FOR /F "usebackq delims=" %%j IN ('Dir "C:\User\" /S /B /A:D') DO FOR /D %%i IN ("%%j\VB_*" ) DO RD "%%i" /S /Q |
Что то не получается. Пишет что системе не удается найти путь. Системе не удается найти указанный файл.
|
Код:
@echo off |
Georgio, я пробую Ваш код. После выполнения bat файла: Системе не удается найти путь. Системе не удается найти указанный файл.
|
Georgio, rd "%%i" /s/q - увидела!
Теперь только пишет: Системе не удается найти указанный путь. Может как то "VB_*" - не так пишется. хотя даже если указываю конкретно папку VB_1 - которая реально есть, батник не срабатывает. |
luda-chel, а Вы не перепутали название папки? Может быть, она называется «Users», а не «User»?
Код:
@echo off |
Georgio, нет конечно! Мне вообще нужно для работы, куча терминальных серверов. Пользователи выходят из программы и запускается батник, который подчищает эти папки (их на самом деле не только VB_*, INF_*, и т.д. от программы зависит. Но иногда бывает, что не правильно выходят или принудительно, то папки их остаются. Т.Е. на диске C:\User - именно так, потому что есть C:\Users - и там эти же файлы необходимеые для работы сервера. А сейчас я дома, и создала у себя просто примерно (сами понимаете)....хотелось за выходные решить задачу. в инете не сомгла ничего найти.
|
luda-chel, если, например, в папке «VB_INF» имеются подпапки «VB_1» и «VB_2», то после удаления папки «VB_INF» со всем её содержимым пакетный файл пытается удалить уже отсутствующие подпапки «VB_1» и «VB_2», но не обнаружив их, выдаёт сообщение об ошибке: «Системе не удается найти указанный путь.». Это нормально для такой операции. Просто не выводите на экран это сообщение, а сделайте так:
Код:
@echo off |
Ага. поняла Вашу мысль. Дело в том что в папке VB: папки "разные",к тому же файлы разные(exe, bat....). Это по существу. А сейчас у себя на ПК. просто создала папку на диске C:\User (до этого как и писала, была папка только Users, стоит 8.1-ка ОС)/После выполнения вашего скрипта:
(я через FAR смотрю)^ C:\>1.bat C:\User\1-копия\1\2\VB_Inf800 --no С:\User\1-копия(2)\VB_1--no (папки: 1-копия\ и всякую ерунду просто создала для того чтобы проверить чтоб в глубине других папок он удалил VB) НО,,,,,, после того как я изменила название папок "1-копия" просто на 1 и 2. то следующее: ---yes --yes теперь работает. без папок с русскими буквами. Теперь в любых вариантах работает!!! |
:yahoo:
|
Время: 05:00. |
Время: 05:00.
© OSzone.net 2001-