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

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

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

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


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

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


Доброго дня

Необходимо удалить все файлы в следующей директории
%UserProfile%\Application Data\1Cv82\
при этом нужно удалить все (файлы и каталоги внутри её) кроме файла 1cv8conn.pfl

заранее спасибо

Отправлено: 13:24, 06-09-2011

 

Ветеран


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

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


В чём проблемы? Например, перемещаете 1cv8conn.pfl во временную папку, удаляете всё, возвращаете нужный файл обратно.

Отправлено: 15:01, 06-09-2011 | #2



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

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


Старожил


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

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


Код: Выделить весь код
@echo off

set "SDir=%UserProfile%\Application Data\1Cv82"
set "fn=1cv8conn.pfl"

pushd "%SDir%" && (
   for /f "delims=" %%a in ('dir "%fn%" /b/s/a-d') do move "%%a" "%temp%"
   rd "%SDir%" /s/q 2>nul
   move "%temp%\%fn%" "%SDir%"
   popd
)
Если файл 1cv8conn.pfl просто лежит в корне папки и его не нужно искать, то замените строчку
Код: Выделить весь код
for /f "delims=" %%a in ('dir "%fn%" /b/s/a-d') do move "%%a" "%temp%"
на строчку
Код: Выделить весь код
move "%SDir%\%fn%" "%temp%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:04, 06-09-2011 | #3


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


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

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


Большое спасибо ... сделал

Отправлено: 18:17, 06-09-2011 | #4


Ветеран


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

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


Подскажите, как очистить папку TEMP за исключением нескольких файлов: kls1EE8.tmp, Perflib_Perfdata_830.dat.
С одним файлом понятно (на примере ECHO), не понятно с множеством файлов и папок, которые нужно исключить из обработки.
Код: Выделить весь код
@Echo Off
SetLocal enabledelayedexpansion

Set DirProg=%WinDir%\TEMP
For /f %%I In ('dir/b/od "%DirProg%"') Do (
           if not "%%~nxI"=="kls1EE8.tmp" (
		Echo %%~nxI
	)
)
pause
Вроде сделал, работает, но самому не нравится. Есть иные варианты?
Код: Выделить весь код
@Echo Off
SetLocal enabledelayedexpansion

Set DirProg=%WinDir%\TEMP
For /f %%I In ('dir/b/od "%DirProg%"') Do (
           if not "%%~nxI"=="kls1EE8.tmp" (
           if not "%%~nxI"=="kls1444444EE8.tmp" (
           if not "%%~nxI"=="VBE" (
		Echo %%~nxI
	)))
)
pause

Последний раз редактировалось sov44, 07-11-2011 в 12:40. Причина: возможное решение


Отправлено: 11:01, 07-11-2011 | #5


Ветеран


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

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


При открытом документе Word очищаю содержимое папки Content.Word. Естественно, появляется ошибка удаления. Пытаюсь "выловить" сообщение в командной строке, и в случае его наличия вывести сообщение.
Код: Выделить весь код
@Echo Off
SetLocal enabledelayedexpansion

set "dr=%USERPROFILE%\Local Settings\Temporary Internet Files\Content.Word"& call :Calc "%dr%" *

pause

:Calc
for /f "delims=*" %%i in ('dir /b/a-d "%dr%\*.%2" 2^>nul') do (
for %%a in ("%dr%\%%i") do (
           
del /f/q %%a ||(
	findstr.exe /r /c:"Процесс не может получить доступ к файлу, так как этот файл занят другим процессом." && (
		echo msgbox "Закройте файл!">"%temp%\msg.vbs" 
            %temp%\msg.vbs 
           del %temp%\msg.vbs 
                	))
))
exit /b 0
подскажите, как поправить скрипт?
***
Upd: решил немного по-другому
Код: Выделить весь код
@Echo Off
SetLocal enabledelayedexpansion
 
set "dr=%USERPROFILE%\Local Settings\Temporary Internet Files\Content.Word"& call :Calc "%dr%" *
 pause
 
:Calc
for /f "delims=*" %%i in ('dir /b/a-d "%dr%\*.%2" 2^>nul') do (
set "bg=%%i"
if "!bg:~0,1!"=="~" (
         echo msgbox "Закройте документ Word!">"%temp%\msg.vbs" 
         %temp%\msg.vbs 
         del %temp%\msg.vbs
         Goto :Calc
) else (
for %%a in ("%dr%\%%i") do (
del /f/q %%a
)))

Последний раз редактировалось sov44, 18-11-2011 в 17:38.


Отправлено: 19:11, 17-11-2011 | #6


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


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

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


rebyat pomagite pojalusto

nujno udalit yarlik kankretni amoren.lnk iz desktopa vsex userov

Отправлено: 12:45, 04-12-2011 | #7


Ветеран


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

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


Подскажите, как удалить файл, если в его имени присутствует спецсимвол
Конкретно: необходимо удалить из директории все файлы *.lnk, в том числе и файл !хлам.lnk
Теоретически, кроме знака восклицания может быть любой символ.
При таком варианте "проглатывается" знак восклицания и файл не удаляется.
Код: Выделить весь код
@echo off
SetLocal enabledelayedexpansion

set "dr=%USERPROFILE%\Recent"

for /f "delims=*" %%i in ('dir /b/a-d "%dr%\*.lnk" 2^>nul') do (
set "bg=%%i"
for %%a in ("%dr%\!bg!" ) do (
         echo %%a         
         del /f/q %%a 2>nul
     )
)
pause

Последний раз редактировалось sov44, 08-12-2011 в 22:32.


Отправлено: 08:54, 08-12-2011 | #8


Ветеран


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

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


В поиске решения! Нужна подсказка!

Отправлено: 07:10, 09-12-2011 | #9


Старожил


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

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


Код: Выделить весь код
@echo off
setlocal

set "dr=%USERPROFILE%\Recent"

for /f "delims=" %%i in ('dir /b/a-d "%dr%\*.lnk" 2^>nul') do (
         echo "%dr%\%%i"
         del /f/q "%dr%\%%i" 2>nul
)
или

Код: Выделить весь код
set "dr=%USERPROFILE%\Recent"

dir /b/a-d/s "%dr%\*.lnk"
del /f/q "%dr%\*.lnk"

Последний раз редактировалось kiripanda, 09-12-2011 в 17:55.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:50, 09-12-2011 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Нужна помощь!!! Paruir Тест-форум 0 09-02-2011 16:35
CMD/BAT - Удаление старых файлов по имени файлов Bиктор Скриптовые языки администрирования Windows 1 19-04-2010 03:37
CMD/BAT - [решено] Нужна помощь в создании bat-ника для распаковки и переименования файлов/папок Nun-Nun Скриптовые языки администрирования Windows 6 14-05-2009 15:45
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов 0bject Скриптовые языки администрирования Windows 614 19-01-2009 21:58
Нужна помощь Ronald Вебмастеру 5 30-05-2003 10:32




 
Переход