|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Найти папку и удалить содержимое |
|
CMD/BAT - [решено] Найти папку и удалить содержимое
|
Ветеран Сообщения: 2196 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 15:10, 22-12-2010 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать Если без поиска, то очень просто:
PUSHD "%TP%" del "%CD%temp\*.*" /f /q del "%CD%Windows\temp\*.*" /f /q POPD Что касается поиска..., а не проще удаленно считать значение переменных temp и tmp из реестра? |
Отправлено: 08:43, 23-12-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать С поиском вроде разобрался, а как назначить переменную и включить её содержимое в обработку, пока думаю.
@echo off set TP=Temp set TP1=Windows\Temp Set TP2=TMP Set TP3=Windows\Tmp SET CDROM=%%i: FOR %%i IN (Z Y X W U V T S R Q P O N M L K J I H G F E D C) DO IF EXIST %%i:\%Tp% Echo %%i:\%Tp%>>log.txt FOR %%i IN (Z Y X W U V T S R Q P O N M L K J I H G F E D C) DO IF EXIST %%i:\%TP1% Echo %%i:\%Tp1%>>log.txt FOR %%i IN (Z Y X W U V T S R Q P O N M L K J I H G F E D C) DO IF EXIST %%i:\%Tp2% Echo %%i:\%Tp2%>>log.txt FOR %%i IN (Z Y X W U V T S R Q P O N M L K J I H G F E D C) DO IF EXIST %%i:\%TP3% Echo %%i:\%Tp3%>>log.txt goto :eof END |
Последний раз редактировалось sov44, 23-12-2010 в 10:21. Отправлено: 09:55, 23-12-2010 | #3 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать Все же искать не нужно, можно просто спросить....
Setlocal Set RemoteMachineName=pp1 Set RegEnvVar=HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment For /f "tokens=1,2,*" %%n In ('reg query "\\%RemoteMachineName%\%RegEnvVar%" /v "temp"^|Find /i "temp"') do Set RemoteTemp=%%p For /f "tokens=1,2,*" %%n In ('reg query "\\%RemoteMachineName%\%RegEnvVar%" /v "tmp"^|Find /i "tmp"') do Set RemoteTmp=%%p Все что осталось, это заменить ":" на "$" и впереди подставить RemoteMachineName Теперь можно делать PUSHD сразу внутрь папки Temp и Tmp и удалять все что там есть. Делать 2 раза естественно, отдельно Temp и Tmp, вдруг они на разных дисках |
Отправлено: 12:31, 23-12-2010 | #4 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать AkP, как я понимаю, скрипт обращается к %SystemRoot%, и это не то, что нужно. У меня на компе стоит две системы, во второй системе, я полагаю, папки Temp, Tmp скрипт не найдёт.
|
|
Отправлено: 12:51, 23-12-2010 | #5 |
Пользователь Сообщения: 92
|
Профиль | Отправить PM | Цитировать Цитата sov44:
Если все действо происходит на твоей локальной машинке... то нужно ли искать, подключать временные сетевые диски итд... Можно обойтись 4 строчками с "del", по 2 на каждую ОС. |
|
Отправлено: 13:15, 23-12-2010 | #6 |
Старожил Сообщения: 413
|
Профиль | Отправить PM | Цитировать икать на всех дисках папки temp и удалить все файлы (и в подпапках)
@Echo Off SetLocal EnableExtensions Set F=temp For %%D In (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do ( For /F "Delims=" %%I In ('Dir %%D:\%F%.* /AD /B /S 2^>nul') Do ( If Exist "%%I" ( If /I "%%~nxI"=="%F%" Echo "%%I" If /I "%%~nxI"=="%F%" del /S /Q "%%I\">nul ) ) ) pause |
Последний раз редактировалось mamont1, 23-12-2010 в 19:01. Отправлено: 13:37, 23-12-2010 | #7 |
Ветеран Сообщения: 2196
|
Профиль | Отправить PM | Цитировать Цитата AkP:
|
|
Отправлено: 14:29, 23-12-2010 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - удалить неудаляемую папку | pribl | Microsoft Windows 7 | 6 | 14-06-2009 09:10 | |
V. 5.5/2000/2003 - Переместить содержимое почтового ящика в общую папку | migunov | Microsoft Exchange Server | 2 | 25-02-2009 19:02 | |
Разное - содержимое папки мои документы заменено на пустую папку | bizzzzz | Microsoft Windows 2000/XP | 14 | 15-02-2009 22:05 | |
[решено] Не могу найти папку | MiXalich | Хочу все знать | 2 | 01-02-2009 00:14 | |
Ошибка - [решено] Помогите удалить папку | Urbanrasta | Microsoft Windows 2000/XP | 10 | 07-03-2008 03:20 |
|