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

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

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

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


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

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


задача
Удалить папки с определенным именем, например images, из всех профилей пользователей когда либо логинившихся на компьютер, со всем содержимым внутри.
привязка к смд тк тачка на хп

Отправлено: 13:09, 07-11-2016

 

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


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

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


а все, не правильно искал по форуму
http://forum.oszone.net/thread-189985.html
то что надо было, тему можно удалить

Отправлено: 13:20, 07-11-2016 | #2



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

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


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


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

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


как можно сократить уровень поиска во вложенных папках?

for /f "tokens=1 delims=" %%D in ('dir "c:\users" /ad /b /s') do rd /q /s "%%D\images" > nul 2>&1
проверяет абсолютно все папки в профайлах, нужно сократить поиск до 3 уровня вложенности
admin\desktop\new_folder
3й уровень вложенности, я это имею ввиду

Отправлено: 13:50, 07-11-2016 | #3


Ветеран


Contributor


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

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


В этом коде — никак. «/s» при dir не имеет возможности ограничения.

Отправлено: 14:39, 07-11-2016 | #4


Ветеран


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

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


vasheezloy,
если просто надо (без привязки к каккому-то коду), можно так:
Код: Выделить весь код
@echo off
set "d0=0_uroven"
set "fl=%Userprofile%\Desktop\file.txt"
::tree /f "%d0%">"%fl%"
pushd "%d0%"
 for /f "delims=" %%a in ('dir /a/b') do echo %%~dpa%%a>>"%fl%"& 2>nul pushd "%%~dpa%%a"
  for /f "delims=" %%a in ('dir /a/b') do echo %%~dpa%%a>>"%fl%"& 2>nul pushd "%%~dpa%%a"
   for /f "delims=" %%a in ('dir /a/b') do echo %%~dpa%%a>>"%fl%"
  popd
 popd
popd
exit /b
Вот содержимое "file.txt":
Скрытый текст

Код: Выделить весь код
Структура папок
Серийный номер тома: xxx
C:\USERS\xxx\DESKTOP\0_UROVEN
│   07.11.2016  13 '25 '33.txt
│   
└───1_uroven
    │   07.11.2016  13 '25 '27.txt
    │   
    └───2_uroven
        │   07.11.2016  13 '25 '20.txt
        │   
        └───3_uroven
                07.11.2016  13 '25 '14.txt
                
C:\Users\xxx\Desktop\0_uroven\07.11.2016  13 '25 '33.txt
C:\Users\xxx\Desktop\0_uroven\1_uroven
C:\Users\xxx\Desktop\0_uroven\1_uroven\07.11.2016  13 '25 '27.txt
C:\Users\xxx\Desktop\0_uroven\1_uroven\2_uroven
C:\Users\xxx\Desktop\0_uroven\1_uroven\2_uroven\07.11.2016  13 '25 '20.txt
C:\Users\xxx\Desktop\0_uroven\1_uroven\2_uroven\3_uroven
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:21, 07-11-2016 | #5


Ветеран


Contributor


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

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


Удалить папки с определенным именем, например images, из всех профилей пользователей когда либо логинившихся на компьютер, со всем содержимым внутри. ИМХО, как я понимаю задачу, это можно сделать так:
Код: Выделить весь код
Уровни вложенности   1     2       3
Папки                admin\desktop\new_folder
Код: Выделить весь код
@Echo Off

Set "DelDir=images"

FOR /F "tokens=1,2 delims=\" %%i IN ("%Userprofile%") Do Set "DProf=%%i\%%j" 

FOR /F "usebackq delims=" %%i IN (`Dir "%DProf%\" /B /A:D-S-H`) DO (
	FOR /F "usebackq delims=" %%j IN (`Dir "%DProf%\%%i\" /B /A:D-S-H`) DO (
		If /I "%%j"=="%DelDir%" (
			Rd /S /Q "%DProf%\%%i\%%j"
		) Else (
			FOR /F "usebackq delims=" %%k IN (`Dir "%DProf%\%%i\%%j\" /B /A:D-S-H`) DO (
				If /I "%%k"=="%DelDir%" Rd /S /Q "%DProf%\%%i\%%j\%%k" 
			)
		)
	)
)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 07-11-2016 в 20:08.


Отправлено: 19:51, 07-11-2016 | #6



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
V. 2016 - Создание папок у пользователей vhsuper Microsoft Exchange Server 0 02-06-2016 16:26
CMD/BAT - Удаление папок A.N.D.R.E.I.S.M Скриптовые языки администрирования Windows 2 21-04-2016 09:15
2010 - MS Outlook 2010 сохраняет ли контакты для разных пользователей в разных профайлах? gavBTR Microsoft Office (Word, Excel, Outlook и т.д.) 0 27-03-2011 20:13
периодическое удаление папок silence AutoIt 1 23-06-2010 17:52
CMD/BAT - Чистка папок пользователей link1982 Скриптовые языки администрирования Windows 3 30-03-2009 14:05




 
Переход