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

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

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

Аватара для Fresh96

Старожил


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

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


Здравствуйте.

В папке Folder1 находятся подпапки с различными именами (в них тоже могут быть подпапки). Нужно удалить все папки с определенными именами. Список имен должен быть в текстовом файле.

Есть похожий код, но он отрабатывает только четко заданное имя папки. Помогите исправить код.
Код: Выделить весь код
@echo off
setlocal
rem rdir=название_удаляемых_каталогов
set rdir=Архив
rem Раскоментировать чтоб задавать имя удаляемого каталога в строке параметров:
rem set rdir=%1
set fpath=%~dps0
call :func %fpath:~0,-1%
goto end
:func
for /f "delims=" %%i in ('dir %1 /a:d /b') do IF /I %%i==%rdir% ( rmdir /s /q %1\%%i && echo deleted %1\%%i ) ELSE ( call :func %1\%%i )
exit /b
:end
Заранее благодарю.

Отправлено: 12:29, 25-03-2014

 

Ветеран


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

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


Код: Выделить весь код
@echo off
chcp 1251>nul
for /f "usebackq delims=" %%i in ("folder_names.txt") do (
 for /f "delims=" %%j in ('dir "Folder1" /ad /b /s') do (
  if /i "%%~i"=="%%~nxj" (
   if exist "%%j\" (
    rmdir /s /q "%%j"&& echo deleted %%j
   )
  )
 )
)
pause>nul
exit /b

Отправлено: 14:35, 25-03-2014 | #2



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

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


Аватара для Fresh96

Старожил


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

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


Georgio, не получается то, что нужно. (а точнее говорит, что файл не найден и все тут)

А зачем вот эта строка?
Код: Выделить весь код
'dir "Folder1" /ad /b /s'
Видимо, я не очень хорошо объяснил, что хочу, но привязываться к папке с именем Folder1 не нужно.

Folder1New - корневая папка
В ней находятся другие папки, например П1, П3, У2, Z87, а также
исполняемый батник и текстовый файл со списком имен папок на удаление.

В некоторых папках (например П1, У2) - есть еще подпапки, которые нужно удалять.

Меня устраивает bat из первого поста, но к нему хотелось бы прикрутить задание имён папок на удаление из текстового файла (несколько имен в списке).

Отправлено: 15:24, 25-03-2014 | #3


Ветеран


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

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


Цитата Fresh96:
Видимо, я не очень хорошо объяснил, что хочу, но привязываться к папке с именем Folder1 не нужно. »
Видимо.


Цитата Fresh96:
Folder1New - корневая папка
В ней находятся другие папки, например П1, П3, У2, Z87, а также
исполняемый батник и текстовый файл со списком имен папок на удаление.
В некоторых папках (например П1, У2) - есть еще подпапки, которые нужно удалять. »
Так в чём же проблема? "folder_names.txt" -- это Ваш "текстовый файл со списком имен папок на удаление".

Код: Выделить весь код
@echo off
chcp 1251>nul
for /f "usebackq delims=" %%i in ("folder_names.txt") do (
 for /f "delims=" %%j in ('dir /ad /b /s') do (
  if /i "%%~i"=="%%~nxj" (
   if exist "%%j\" (
    rmdir /s /q "%%j"&& echo deleted %%j
   )
  )
 )
)
pause>nul
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:38, 25-03-2014 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - Нет никаких прав на системные папки и подпапки diagnoz_ Microsoft Windows 8 и 8.1 3 27-02-2014 23:05
CMD/BAT - Удаление и создание папки с определенными правами на эту папку Mans2k Скриптовые языки администрирования Windows 1 29-01-2013 16:59
Разное - какие файлы и папки я могу смело удалить из папки windows fyt Microsoft Windows 2000/XP 6 05-01-2012 18:14
Разное - Немогу удалить Папку и в ней подпапки Baw17 Microsoft Windows 2000/XP 12 30-07-2011 07:12
Разное - Как удалить профильные папки из Личной Папки без последствий? Котяр Microsoft Windows 7 0 28-11-2009 20:36




 
Переход