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

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

Ответить
Настройки темы
CMD/BAT - Удаление по маске

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


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

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


у меня здача стоит таким образом: при запуске 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).
В общем не работает мой вариант. Куда копать?

Отправлено: 14:41, 23-04-2014

 

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


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

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


Цитата Гуллипут:
Получившийся текст - в студию ! А то беспредметный разговор получается. »
@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

Отправлено: 00:43, 28-04-2014 | #11



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

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


Пользователь


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

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


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
И у меня это работает.

-------
Разумный человек приспосабливается к миру, неразумный пытается приспособить мир к себе. Поэтому прогресс делают люди неразумные. (Дж. Б. Шоу)


Последний раз редактировалось Гуллипут, 28-04-2014 в 22:22.


Отправлено: 22:13, 28-04-2014 | #12


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


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

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


Гуллипут, нет, не работает к сожалению. прошёлся по всем 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
Для продолжения нажмите любую клавишу . . .

Отправлено: 17:38, 29-04-2014 | #13


Пользователь


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

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


X.509, я же говорил, что в команде удаления:
Код: Выделить весь код
::Проверка не удаляем ли рабочий каталог
if /i "%~1" neq "%Src%" Echo del /q "%~1"\%mask%
команда echo стоит для того, чтобы контролировать правильность работы без реального удаления. Чтобы файлы реально удалялись, надо вместо этого написать
Код: Выделить весь код
::Проверка не удаляем ли рабочий каталог
if /i "%~1" neq "%Src%" del /q "%~1"\%mask%

-------
Разумный человек приспосабливается к миру, неразумный пытается приспособить мир к себе. Поэтому прогресс делают люди неразумные. (Дж. Б. Шоу)


Отправлено: 00:24, 06-05-2014 | #14



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Удаление каталогов по маске. mishgan2004 Скриптовые языки администрирования Windows 4 20-07-2017 14:00
CMD/BAT - Удаление файлов по маске IlyaBarkov Скриптовые языки администрирования Windows 6 15-10-2013 05:03
VBS/WSH/JS - [решено] удаление старых файлов по маске support23 Скриптовые языки администрирования Windows 1 03-06-2013 08:41
Delphi - Перемещение и удаление файлов по маске. Putin-mode Программирование и базы данных 1 21-06-2010 12:16




 
Переход