vitrzn
bomzzz
Спасибо,
Перечитал много страниц форума и вот что собрал (спасибо автору)
===============================
@echo off
setlocal
set "ds=Documents and Settings"
set "tf=Local Settings\Temp"
set "ca=Local Settings\Application Data\1C\1Cv81"
set "cb=Application Data\1C\1Cv81"
for %%i in (c) do (
if not %~d0==%%i: call:clean %%i
)
goto:eof
:clean
if exist %1:\Windows\Temp (
pushd %1:\Windows\Temp
call:delete
popd
)
if exist %1:\WinNT\Temp (
pushd %1:\WinNT\Temp
call:delete
popd
)
if not exist "%1:\%ds%" goto:eof
for /f "tokens=*" %%i in ('dir /b /ad "%1:\%ds%"') do (
if exist "%1:\%ds%\%%i\%tf%" (
pushd "%1:\%ds%\%%i\%tf%"
call:delete
popd
)
if exist "%1:\%ds%\%%i\%ca%" (
pushd "%1:\%ds%\%%i\%ca%"
call:delete
popd
)
if exist "%1:\%ds%\%%i\%cb%" (
pushd "%1:\%ds%\%%i\%cb%"
call:delete
popd
)
)
goto:eof
elete
del /q /a /f *.* 1>nul 2>&1
for /f "tokens=*" %%i in ('dir /b /ad') do rd /s /q "%%i" 1>nul 2>&1
===========================
НУЖНО
чтобы в каталоге set "cb=Application Data\1C\1Cv81"
1. Были удалены все любые создаваемые папки.
2. Удалены любые файлы, но! за исключением файлов с расширением *.xls , *.doc , *.txt - они должны остаться (пока они не будут находиться в удаляемых папках).
Пробовал поменять строку в батнике:
for /f "tokens=*" %%i in ('dir /b /ad') do rd /s /q "%%i" 1>nul 2>&1
на предложенную
for /f "tokens=*" %%i in ('dir ^| findstr "doc$ xls$ txt$"') do echo %%i
чего то не работает, может что не так делаю?
Помогите пожалуйста. Что конкретно и куда и чем заменить?
Спасибо всем кто помогает!
bomzzz
Спасибо,
Перечитал много страниц форума и вот что собрал (спасибо автору)
===============================
@echo off
setlocal
set "ds=Documents and Settings"
set "tf=Local Settings\Temp"
set "ca=Local Settings\Application Data\1C\1Cv81"
set "cb=Application Data\1C\1Cv81"
for %%i in (c) do (
if not %~d0==%%i: call:clean %%i
)
goto:eof
:clean
if exist %1:\Windows\Temp (
pushd %1:\Windows\Temp
call:delete
popd
)
if exist %1:\WinNT\Temp (
pushd %1:\WinNT\Temp
call:delete
popd
)
if not exist "%1:\%ds%" goto:eof
for /f "tokens=*" %%i in ('dir /b /ad "%1:\%ds%"') do (
if exist "%1:\%ds%\%%i\%tf%" (
pushd "%1:\%ds%\%%i\%tf%"
call:delete
popd
)
if exist "%1:\%ds%\%%i\%ca%" (
pushd "%1:\%ds%\%%i\%ca%"
call:delete
popd
)
if exist "%1:\%ds%\%%i\%cb%" (
pushd "%1:\%ds%\%%i\%cb%"
call:delete
popd
)
)
goto:eof
elete
del /q /a /f *.* 1>nul 2>&1
for /f "tokens=*" %%i in ('dir /b /ad') do rd /s /q "%%i" 1>nul 2>&1
===========================
НУЖНО
чтобы в каталоге set "cb=Application Data\1C\1Cv81"
1. Были удалены все любые создаваемые папки.
2. Удалены любые файлы, но! за исключением файлов с расширением *.xls , *.doc , *.txt - они должны остаться (пока они не будут находиться в удаляемых папках).
Пробовал поменять строку в батнике:
for /f "tokens=*" %%i in ('dir /b /ad') do rd /s /q "%%i" 1>nul 2>&1
на предложенную
for /f "tokens=*" %%i in ('dir ^| findstr "doc$ xls$ txt$"') do echo %%i
чего то не работает, может что не так делаю?
Помогите пожалуйста. Что конкретно и куда и чем заменить?
Спасибо всем кто помогает!