Показать полную графическую версию : Удаление по маске
у меня здача стоит таким образом: при запуске bat файла удалялось всё по маске (например *.txt) но не затрагивались бы системные папки такие как Windows, Program Files ну и т.д.
Я попробовал взять код:
@echo off
Setlocal EnableDelayedExpansion EnableExtensions
::Попка для удаления содержащих в ней каталогов
Set Src=L:\bash\test
::Файл-список ислючений каталогов любой степени вложенности
Set ExcList=L:\bash\test\Exclude.txt
Call :Init
Call :AllFolders "%Src%"
pause
Goto :eof
::Переписываем содержимое файла в массив (ускорение операций)
:Init
For /f "UseBackQ Delims=" %%A in ("%ExcList%") do (
Set /A n+=1
Set Ex!n!=%%A
)
Exit /b
::Обходим папки рекурсивно
:AllFolders
Call :Check "%~1"
if %errorlevel%==1 Exit /B
For /f "delims=" %%A in ('dir /b /a:d "%~1"') do (
Call :AllFolders "%~1\%%A"
)
::Проверка не удаляем ли рабочий каталог
if /i "%~1" neq "%Src%" Echo rd /s /q "%~1"
Exit /b
::Проверить есть ли переданный как аргумент каталог в массиве
:Check
For /L %%A in (1,1,%n%) do (
if /i "%~1"=="!Ex%%A!" Exit /B 1
)
Exit /b 0
попробовал изменить 5 строчку. вместо:
Set Src=L:\bash\test
просто поставил по маске, то есть:
Set Src=C:\*.txt
в Exclude.txt просто добавил пару папок которые трогать не нужно (Wondows, Programm Files).
В общем не работает мой вариант. Куда копать?
предлагаю использовать для данной задачи robocopy
например навскидку так
robocopy /e /mov /r:0 c:\ d:\помойка *.txt /xd c:\windows /xd "Program files"
а потом почистить d:\помойка
Гуллипут
23-04-2014, 23:47
Set Src=C:\*.txt »
Вообще-то, судя по тексту, программа рассчитана на
1) удаление каталогов, а не файлов (команда rd)
2) указание входного каталога без всяких подстановочных символов типа *.
Не проверяю придирчиво правильность исходного файла, но, если он работает. то изменить его надо так:
Set Src=C:
set mask=*.txt
.
.
.
if /i "%~1" neq "%Src%" Echo del /q "%~1"\%mask%
И даже это не совсем то, что надо, потому что Echo в этой строке явно рассчитано не на реальное удаление, а на отладочную проверку данного алгоритма. Я этот приём часто использую. После того, как убедишься, что выдаются на экран нужные команды удаления, надо будет убрать Echo.
Не проверяю придирчиво правильность исходного файла, но, если он работает. то изменить его надо так:
Set Src=C:
set mask=*.txt
.
.
.
if /i "%~1" neq "%Src%" Echo del /q "%~1"\%mask% »
Не удается найти файл .
Не удается найти указанную метку пакетного файла - Check
Для продолжения нажмите любую клавишу . . .
Гуллипут
24-04-2014, 22:55
Получившийся текст - в студию ! А то беспредметный разговор получается.
я не понимаю, зачем вообще городить скрипт, если уже есть родная утилита, которая делает то что надо.
Гуллипут
26-04-2014, 11:29
же есть родная утилита »
Что за утилита ? Для кого она "родная" ? Если robocopy, то у меня, например, её нет.
Гуллипут, http://ru.wikipedia.org/wiki/Robocopy
Гуллипут
27-04-2014, 10:25
http://ru.wikipedia.org/wiki/Robocopy »
Это я читал. Но у меня XP, и в ближайшее время не планирую подниматься выше. Ну, не нравятся мне 7 и Vista. Хотя бы тем, что там нет полноэкранного режима для CMD и Far. Привычки у меня такие - неуютно в оконном режиме с Far'ом работать.
Правда, у автора вопроса ситуация может быть другая, так что интересно было бы знать его мнение о robocopy.
Но у меня XP, »
RoboCopy есть в комплектах Resource Kit'ов.
Получившийся текст - в студию ! А то беспредметный разговор получается. »
@echo off
Setlocal EnableDelayedExpansion EnableExtensions
Set Src=C:
set mask=*.txt
Call :Init
Call :AllFolders "%Src%"
pause
Goto :eof
::Переписываем содержимое файла в массив (ускорение операций)
:Init
For /f "UseBackQ Delims=" %%A in ("%ExcList%") do (
Set /A n+=1
Set Ex!n!=%%A
)
Exit /b
::Обходим папки рекурсивно
:AllFolders
Call :Check "%~1"
if %errorlevel%==1 Exit /B
For /f "delims=" %%A in ('dir /b /a:d "%~1"') do (
Call :AllFolders "%~1\%%A"
)
::Проверка не удаляем ли рабочий каталог
if /i "%~1" neq "%Src%" Echo del /q "%~1"\%mask%
Exit /b
::Проверить есть ли переданный как аргумент каталог в массиве
:Check
For /L %%A in (1,1,%n%) do (
if /i "%~1"=="!Ex%%A!" Exit /B 1
)
Exit /b 0
Гуллипут
28-04-2014, 22:13
X.509, а куда пропало присвоение переменной ExcList ? Понятно, что файл в цикле for /F не найден.
Там ведь изначально стоял код: ::Файл-список исключений каталогов любой степени вложенности
Set ExcList=L:\bash\test\Exclude.txt
А вот почему ругань на метку check - не знаю, у меня этот же код на неё не ругается.
Я добавил текст, который у вас пропал, вот что получилось:
@echo off
Setlocal EnableDelayedExpansion EnableExtensions
Set Src=C:
set mask=*.txt
::Файл-список исключений каталогов любой степени вложенности
Set ExcList=L:\bash\test\Exclude.txt
Call :Init
Call :AllFolders "%Src%"
pause
Goto :eof
::Переписываем содержимое файла в массив (ускорение операций)
:Init
For /f "UseBackQ Delims=" %%A in ("%ExcList%") do (
Set /A n+=1
Set Ex!n!=%%A
)
Exit /b
::Обходим папки рекурсивно
:AllFolders
Call :Check "%~1"
if %errorlevel%==1 Exit /B
For /f "delims=" %%A in ('dir /b /a:d "%~1"') do (
Call :AllFolders "%~1\%%A"
)
::Проверка не удаляем ли рабочий каталог
if /i "%~1" neq "%Src%" Echo del /q "%~1"\%mask%
Exit /b
::Проверить есть ли переданный как аргумент каталог в массиве
:Check
For /L %%A in (1,1,%n%) do (
if /i "%~1"=="!Ex%%A!" Exit /B 1
)
Exit /b 0
И у меня это работает.
Гуллипут, нет, не работает к сожалению. прошёлся по всем txt файлам включая те папки которые были указанны в файле Exclude.txt и всё, те что я насоздавал, как были так и остались.
Последние строки: C:\>Exit /b 0
C:\>if 0 == 1 Exit /B
C:\>For /F "delims=" %A in ('dir /b /a:d "C:\Windows\winsxs\x86_wwf-system.workf
low.activities_31bf3856ad364e35_6.1.7600.16385_none_323c4905d95242ca"') do (Call
:AllFolders "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf3856ad364
e35_6.1.7600.16385_none_323c4905d95242ca\%A" )
C:\>if /I "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf3856ad364e35
_6.1.7600.16385_none_323c4905d95242ca" NEQ "C:" Echo del /q "C:\Windows\winsxs\x
86_wwf-system.workflow.activities_31bf3856ad364e35_6.1.7600.16385_none_323c4905d
95242ca"\*.txt
del /q "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf3856ad364e35_6.
1.7600.16385_none_323c4905d95242ca"\*.txt
C:\>Exit /b
C:\>(Call :AllFolders "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf
3856ad364e35_6.1.7601.17514_none_346d5ccdd640c664" )
C:\>Call :Check "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf3856ad
364e35_6.1.7601.17514_none_346d5ccdd640c664"
C:\>For /L %A in (1 1 2) do (if /I "C:\Windows\winsxs\x86_wwf-system.workflow.ac
tivities_31bf3856ad364e35_6.1.7601.17514_none_346d5ccdd640c664" == "!Ex%A!" Exit
/B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf3856ad364e3
5_6.1.7601.17514_none_346d5ccdd640c664" == "!Ex1!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf3856ad364e3
5_6.1.7601.17514_none_346d5ccdd640c664" == "!Ex2!" Exit /B 1 )
C:\>Exit /b 0
C:\>if 0 == 1 Exit /B
C:\>For /F "delims=" %A in ('dir /b /a:d "C:\Windows\winsxs\x86_wwf-system.workf
low.activities_31bf3856ad364e35_6.1.7601.17514_none_346d5ccdd640c664"') do (Call
:AllFolders "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf3856ad364
e35_6.1.7601.17514_none_346d5ccdd640c664\%A" )
C:\>if /I "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf3856ad364e35
_6.1.7601.17514_none_346d5ccdd640c664" NEQ "C:" Echo del /q "C:\Windows\winsxs\x
86_wwf-system.workflow.activities_31bf3856ad364e35_6.1.7601.17514_none_346d5ccdd
640c664"\*.txt
del /q "C:\Windows\winsxs\x86_wwf-system.workflow.activities_31bf3856ad364e35_6.
1.7601.17514_none_346d5ccdd640c664"\*.txt
C:\>Exit /b
C:\>(Call :AllFolders "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_
31bf3856ad364e35_6.1.7600.16385_none_8bba6f9c6f693e3b" )
C:\>Call :Check "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf38
56ad364e35_6.1.7600.16385_none_8bba6f9c6f693e3b"
C:\>For /L %A in (1 1 2) do (if /I "C:\Windows\winsxs\x86_wwf-system.workflow.co
mponentmodel_31bf3856ad364e35_6.1.7600.16385_none_8bba6f9c6f693e3b" == "!Ex%A!"
Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3856ad3
64e35_6.1.7600.16385_none_8bba6f9c6f693e3b" == "!Ex1!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3856ad3
64e35_6.1.7600.16385_none_8bba6f9c6f693e3b" == "!Ex2!" Exit /B 1 )
C:\>Exit /b 0
C:\>if 0 == 1 Exit /B
C:\>For /F "delims=" %A in ('dir /b /a:d "C:\Windows\winsxs\x86_wwf-system.workf
low.componentmodel_31bf3856ad364e35_6.1.7600.16385_none_8bba6f9c6f693e3b"') do (
Call :AllFolders "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3
856ad364e35_6.1.7600.16385_none_8bba6f9c6f693e3b\%A" )
C:\>if /I "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3856ad36
4e35_6.1.7600.16385_none_8bba6f9c6f693e3b" NEQ "C:" Echo del /q "C:\Windows\wins
xs\x86_wwf-system.workflow.componentmodel_31bf3856ad364e35_6.1.7600.16385_none_8
bba6f9c6f693e3b"\*.txt
del /q "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3856ad364e3
5_6.1.7600.16385_none_8bba6f9c6f693e3b"\*.txt
C:\>Exit /b
C:\>(Call :AllFolders "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_
31bf3856ad364e35_6.1.7601.17514_none_8deb83646c57c1d5" )
C:\>Call :Check "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf38
56ad364e35_6.1.7601.17514_none_8deb83646c57c1d5"
C:\>For /L %A in (1 1 2) do (if /I "C:\Windows\winsxs\x86_wwf-system.workflow.co
mponentmodel_31bf3856ad364e35_6.1.7601.17514_none_8deb83646c57c1d5" == "!Ex%A!"
Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3856ad3
64e35_6.1.7601.17514_none_8deb83646c57c1d5" == "!Ex1!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3856ad3
64e35_6.1.7601.17514_none_8deb83646c57c1d5" == "!Ex2!" Exit /B 1 )
C:\>Exit /b 0
C:\>if 0 == 1 Exit /B
C:\>For /F "delims=" %A in ('dir /b /a:d "C:\Windows\winsxs\x86_wwf-system.workf
low.componentmodel_31bf3856ad364e35_6.1.7601.17514_none_8deb83646c57c1d5"') do (
Call :AllFolders "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3
856ad364e35_6.1.7601.17514_none_8deb83646c57c1d5\%A" )
C:\>if /I "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3856ad36
4e35_6.1.7601.17514_none_8deb83646c57c1d5" NEQ "C:" Echo del /q "C:\Windows\wins
xs\x86_wwf-system.workflow.componentmodel_31bf3856ad364e35_6.1.7601.17514_none_8
deb83646c57c1d5"\*.txt
del /q "C:\Windows\winsxs\x86_wwf-system.workflow.componentmodel_31bf3856ad364e3
5_6.1.7601.17514_none_8deb83646c57c1d5"\*.txt
C:\>Exit /b
C:\>(Call :AllFolders "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf385
6ad364e35_6.1.7600.16385_none_64f133bd015a8f4f" )
C:\>Call :Check "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364
e35_6.1.7600.16385_none_64f133bd015a8f4f"
C:\>For /L %A in (1 1 2) do (if /I "C:\Windows\winsxs\x86_wwf-system.workflow.ru
ntime_31bf3856ad364e35_6.1.7600.16385_none_64f133bd015a8f4f" == "!Ex%A!" Exit /B
1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6
.1.7600.16385_none_64f133bd015a8f4f" == "!Ex1!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6
.1.7600.16385_none_64f133bd015a8f4f" == "!Ex2!" Exit /B 1 )
C:\>Exit /b 0
C:\>if 0 == 1 Exit /B
C:\>For /F "delims=" %A in ('dir /b /a:d "C:\Windows\winsxs\x86_wwf-system.workf
low.runtime_31bf3856ad364e35_6.1.7600.16385_none_64f133bd015a8f4f"') do (Call :A
llFolders "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6.
1.7600.16385_none_64f133bd015a8f4f\%A" )
C:\>if /I "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6.
1.7600.16385_none_64f133bd015a8f4f" NEQ "C:" Echo del /q "C:\Windows\winsxs\x86_
wwf-system.workflow.runtime_31bf3856ad364e35_6.1.7600.16385_none_64f133bd015a8f4
f"\*.txt
del /q "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6.1.7
600.16385_none_64f133bd015a8f4f"\*.txt
C:\>Exit /b
C:\>(Call :AllFolders "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf385
6ad364e35_6.1.7601.17514_none_67224784fe4912e9" )
C:\>Call :Check "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364
e35_6.1.7601.17514_none_67224784fe4912e9"
C:\>For /L %A in (1 1 2) do (if /I "C:\Windows\winsxs\x86_wwf-system.workflow.ru
ntime_31bf3856ad364e35_6.1.7601.17514_none_67224784fe4912e9" == "!Ex%A!" Exit /B
1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6
.1.7601.17514_none_67224784fe4912e9" == "!Ex1!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6
.1.7601.17514_none_67224784fe4912e9" == "!Ex2!" Exit /B 1 )
C:\>Exit /b 0
C:\>if 0 == 1 Exit /B
C:\>For /F "delims=" %A in ('dir /b /a:d "C:\Windows\winsxs\x86_wwf-system.workf
low.runtime_31bf3856ad364e35_6.1.7601.17514_none_67224784fe4912e9"') do (Call :A
llFolders "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6.
1.7601.17514_none_67224784fe4912e9\%A" )
C:\>if /I "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6.
1.7601.17514_none_67224784fe4912e9" NEQ "C:" Echo del /q "C:\Windows\winsxs\x86_
wwf-system.workflow.runtime_31bf3856ad364e35_6.1.7601.17514_none_67224784fe4912e
9"\*.txt
del /q "C:\Windows\winsxs\x86_wwf-system.workflow.runtime_31bf3856ad364e35_6.1.7
601.17514_none_67224784fe4912e9"\*.txt
C:\>Exit /b
C:\>(Call :AllFolders "C:\Windows\winsxs\x86_xcbdav.inf_31bf3856ad364e35_6.1.760
0.16385_none_23239678b7db5032" )
C:\>Call :Check "C:\Windows\winsxs\x86_xcbdav.inf_31bf3856ad364e35_6.1.7600.1638
5_none_23239678b7db5032"
C:\>For /L %A in (1 1 2) do (if /I "C:\Windows\winsxs\x86_xcbdav.inf_31bf3856ad3
64e35_6.1.7600.16385_none_23239678b7db5032" == "!Ex%A!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_xcbdav.inf_31bf3856ad364e35_6.1.7600.16385_non
e_23239678b7db5032" == "!Ex1!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_xcbdav.inf_31bf3856ad364e35_6.1.7600.16385_non
e_23239678b7db5032" == "!Ex2!" Exit /B 1 )
C:\>Exit /b 0
C:\>if 0 == 1 Exit /B
C:\>For /F "delims=" %A in ('dir /b /a:d "C:\Windows\winsxs\x86_xcbdav.inf_31bf3
856ad364e35_6.1.7600.16385_none_23239678b7db5032"') do (Call :AllFolders "C:\Win
dows\winsxs\x86_xcbdav.inf_31bf3856ad364e35_6.1.7600.16385_none_23239678b7db5032
\%A" )
C:\>if /I "C:\Windows\winsxs\x86_xcbdav.inf_31bf3856ad364e35_6.1.7600.16385_none
_23239678b7db5032" NEQ "C:" Echo del /q "C:\Windows\winsxs\x86_xcbdav.inf_31bf38
56ad364e35_6.1.7600.16385_none_23239678b7db5032"\*.txt
del /q "C:\Windows\winsxs\x86_xcbdav.inf_31bf3856ad364e35_6.1.7600.16385_none_23
239678b7db5032"\*.txt
C:\>Exit /b
C:\>(Call :AllFolders "C:\Windows\winsxs\x86_xnacc.inf.resources_31bf3856ad364e3
5_6.1.7600.16385_ru-ru_d818115be115363a" )
C:\>Call :Check "C:\Windows\winsxs\x86_xnacc.inf.resources_31bf3856ad364e35_6.1.
7600.16385_ru-ru_d818115be115363a"
C:\>For /L %A in (1 1 2) do (if /I "C:\Windows\winsxs\x86_xnacc.inf.resources_31
bf3856ad364e35_6.1.7600.16385_ru-ru_d818115be115363a" == "!Ex%A!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_xnacc.inf.resources_31bf3856ad364e35_6.1.7600.
16385_ru-ru_d818115be115363a" == "!Ex1!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_xnacc.inf.resources_31bf3856ad364e35_6.1.7600.
16385_ru-ru_d818115be115363a" == "!Ex2!" Exit /B 1 )
C:\>Exit /b 0
C:\>if 0 == 1 Exit /B
C:\>For /F "delims=" %A in ('dir /b /a:d "C:\Windows\winsxs\x86_xnacc.inf.resour
ces_31bf3856ad364e35_6.1.7600.16385_ru-ru_d818115be115363a"') do (Call :AllFolde
rs "C:\Windows\winsxs\x86_xnacc.inf.resources_31bf3856ad364e35_6.1.7600.16385_ru
-ru_d818115be115363a\%A" )
C:\>if /I "C:\Windows\winsxs\x86_xnacc.inf.resources_31bf3856ad364e35_6.1.7600.1
6385_ru-ru_d818115be115363a" NEQ "C:" Echo del /q "C:\Windows\winsxs\x86_xnacc.i
nf.resources_31bf3856ad364e35_6.1.7600.16385_ru-ru_d818115be115363a"\*.txt
del /q "C:\Windows\winsxs\x86_xnacc.inf.resources_31bf3856ad364e35_6.1.7600.1638
5_ru-ru_d818115be115363a"\*.txt
C:\>Exit /b
C:\>(Call :AllFolders "C:\Windows\winsxs\x86_xnacc.inf_31bf3856ad364e35_6.1.7600
.16385_none_b381dfe1d4da7da9" )
C:\>Call :Check "C:\Windows\winsxs\x86_xnacc.inf_31bf3856ad364e35_6.1.7600.16385
_none_b381dfe1d4da7da9"
C:\>For /L %A in (1 1 2) do (if /I "C:\Windows\winsxs\x86_xnacc.inf_31bf3856ad36
4e35_6.1.7600.16385_none_b381dfe1d4da7da9" == "!Ex%A!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_xnacc.inf_31bf3856ad364e35_6.1.7600.16385_none
_b381dfe1d4da7da9" == "!Ex1!" Exit /B 1 )
C:\>(if /I "C:\Windows\winsxs\x86_xnacc.inf_31bf3856ad364e35_6.1.7600.16385_none
_b381dfe1d4da7da9" == "!Ex2!" Exit /B 1 )
C:\>Exit /b 0
C:\>if 0 == 1 Exit /B
C:\>For /F "delims=" %A in ('dir /b /a:d "C:\Windows\winsxs\x86_xnacc.inf_31bf38
56ad364e35_6.1.7600.16385_none_b381dfe1d4da7da9"') do (Call :AllFolders "C:\Wind
ows\winsxs\x86_xnacc.inf_31bf3856ad364e35_6.1.7600.16385_none_b381dfe1d4da7da9\%
A" )
C:\>if /I "C:\Windows\winsxs\x86_xnacc.inf_31bf3856ad364e35_6.1.7600.16385_none_
b381dfe1d4da7da9" NEQ "C:" Echo del /q "C:\Windows\winsxs\x86_xnacc.inf_31bf3856
ad364e35_6.1.7600.16385_none_b381dfe1d4da7da9"\*.txt
del /q "C:\Windows\winsxs\x86_xnacc.inf_31bf3856ad364e35_6.1.7600.16385_none_b38
1dfe1d4da7da9"\*.txt
C:\>Exit /b
C:\>if /I "C:\Windows\winsxs" NEQ "C:" Echo del /q "C:\Windows\winsxs"\*.txt
del /q "C:\Windows\winsxs"\*.txt
C:\>Exit /b
C:\>if /I "C:\Windows" NEQ "C:" Echo del /q "C:\Windows"\*.txt
del /q "C:\Windows"\*.txt
C:\>Exit /b
C:\>if /I "C:" NEQ "C:" Echo del /q "C:"\*.txt
C:\>Exit /b
C:\>pause
Для продолжения нажмите любую клавишу . . .
Гуллипут
06-05-2014, 00:24
X.509, я же говорил, что в команде удаления:
::Проверка не удаляем ли рабочий каталог
if /i "%~1" neq "%Src%" Echo del /q "%~1"\%mask%
команда echo стоит для того, чтобы контролировать правильность работы без реального удаления. Чтобы файлы реально удалялись, надо вместо этого написать
::Проверка не удаляем ли рабочий каталог
if /i "%~1" neq "%Src%" del /q "%~1"\%mask%
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.