Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Найти и удалить папку.

Ответить
Настройки темы
CMD/BAT - [решено] Найти и удалить папку.

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте ВСЕМ!
Подскажите как создать 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

Отправлено: 14:37, 17-08-2014

 

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Что то не получается. Пишет что системе не удается найти путь. Системе не удается найти указанный файл.

Отправлено: 15:48, 17-08-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
cd /d "C:\User"
for /f "delims=" %%i in ('
"dir /ad/b/s "VB_*" 2>nul"
') do (
 rd "%%i" /s/q
 )
exit /b

Отправлено: 15:57, 17-08-2014 | #3


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Georgio, я пробую Ваш код. После выполнения bat файла: Системе не удается найти путь. Системе не удается найти указанный файл.

Отправлено: 16:28, 17-08-2014 | #4


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Georgio, rd "%%i" /s/q - увидела!
Теперь только пишет: Системе не удается найти указанный путь.
Может как то "VB_*" - не так пишется.
хотя даже если указываю конкретно папку VB_1 - которая реально есть, батник не срабатывает.

Отправлено: 16:52, 17-08-2014 | #5


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


luda-chel, а Вы не перепутали название папки? Может быть, она называется «Users», а не «User»?

Код: Выделить весь код
@echo off
cd /d "C:\Users"
for /f "delims=" %%i in ('
"dir /ad/b/s "VB_*" 2>nul"
') do (
 rd "%%i" /s/q
 )
exit /b

Отправлено: 17:01, 17-08-2014 | #6


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Georgio, нет конечно! Мне вообще нужно для работы, куча терминальных серверов. Пользователи выходят из программы и запускается батник, который подчищает эти папки (их на самом деле не только VB_*, INF_*, и т.д. от программы зависит. Но иногда бывает, что не правильно выходят или принудительно, то папки их остаются. Т.Е. на диске C:\User - именно так, потому что есть C:\Users - и там эти же файлы необходимеые для работы сервера. А сейчас я дома, и создала у себя просто примерно (сами понимаете)....хотелось за выходные решить задачу. в инете не сомгла ничего найти.

Отправлено: 17:51, 17-08-2014 | #7


Ветеран


Сообщения: 874
Благодарности: 575

Профиль | Отправить PM | Цитировать


luda-chel, если, например, в папке «VB_INF» имеются подпапки «VB_1» и «VB_2», то после удаления папки «VB_INF» со всем её содержимым пакетный файл пытается удалить уже отсутствующие подпапки «VB_1» и «VB_2», но не обнаружив их, выдаёт сообщение об ошибке: «Системе не удается найти указанный путь.». Это нормально для такой операции. Просто не выводите на экран это сообщение, а сделайте так:

Код: Выделить весь код
@echo off
cd /d "C:\User"
for /f "delims=" %%i in ('
"dir /ad/b/s "VB_*" 2>nul"
') do (
 rd "%%i" /s/q 2>nul&& echo %%i -- yes|| echo %%i -- no
 )
pause>nul
exit /b
и напишите, что получилось.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:46, 17-08-2014 | #8


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ага. поняла Вашу мысль. Дело в том что в папке 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

теперь работает. без папок с русскими буквами.

Теперь в любых вариантах работает!!!

Отправлено: 19:27, 17-08-2014 | #9


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать



Отправлено: 19:54, 17-08-2014 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Найти и удалить папку.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Найти и удалить папку clayton Скриптовые языки администрирования Windows 11 22-01-2013 04:21
CMD/BAT - Найти папку, архивировать RAR-ом и удалить после архива stm314 Скриптовые языки администрирования Windows 7 07-05-2012 10:03
CMD/BAT - [решено] Найти папку и удалить содержимое sov44 Скриптовые языки администрирования Windows 7 23-12-2010 14:29
Разное - удалить неудаляемую папку pribl Microsoft Windows 7 6 14-06-2009 09:10
Ошибка - [решено] Помогите удалить папку Urbanrasta Microsoft Windows 2000/XP 10 07-03-2008 03:20




 
Переход