Показать полную графическую версию : [решено] Нужна помощь удаление файлов
AlexsandrVl
06-09-2011, 13:24
Доброго дня
Необходимо удалить все файлы в следующей директории
%UserProfile%\Application Data\1Cv82\
при этом нужно удалить все (файлы и каталоги внутри её) кроме файла 1cv8conn.pfl
заранее спасибо
В чём проблемы? Например, перемещаете 1cv8conn.pfl во временную папку, удаляете всё, возвращаете нужный файл обратно.
SendMessage
06-09-2011, 16:04
@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%"
AlexsandrVl
06-09-2011, 18:17
Большое спасибо ... сделал
Подскажите, как очистить папку 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
При открытом документе 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
)))
yaguaredo
04-12-2011, 12:45
rebyat pomagite pojalusto
nujno udalit yarlik kankretni amoren.lnk iz desktopa vsex userov
Подскажите, как удалить файл, если в его имени присутствует спецсимвол
Конкретно: необходимо удалить из директории все файлы *.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
В поиске решения! Нужна подсказка!
kiripanda
09-12-2011, 17:50
@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, отлично! Как бы ещё прикрутить определение размера файлов, в том числе для файлов с "!" в начале имени?
kiripanda
10-12-2011, 20:17
set "dr=%USERPROFILE%\Recent"
pushd "%dr%"
for /f "delims=" %%i in ('dir /b/a-d "%dr%\*.lnk" 2^>nul') do (
echo "%dr%\%%i" [%%~zi Bytes]
del /f/q "%dr%\%%i" 2>nul
)
popd
kiripanda, благодарю за решение. :up
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.