|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - удалить файлы по маске из каталога |
|
|
CMD/BAT - удалить файлы по маске из каталога
|
Новый участник Сообщения: 11 |
Профиль | Отправить PM | Цитировать проблема в том что Del принимает только один параметр. тогда проще может перейти в каталог для удаления и удалить оттуда? просто масок должно быть несколько
пока что есть только это |
|
Отправлено: 22:32, 15-09-2011 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Вот ещё вопрос - как найти в файлы каком то каталоге не перемещаясь туда?
|
Отправлено: 23:32, 15-09-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Два варианта:
@echo off setlocal enableextensions enabledelayedexpansion set sArgs=%* if not defined sArgs ( echo Error: no arguments echo. call :Usage exit /b 1 ) rem Вариант 1 call :DeleteByMask %sArgs% rem Вариант 2, по-файлово for %%i in (%sArgs%) do ( echo Delete [%%i] del %%i 2>nul ) endlocal exit /b 0 :DeleteByMask set sMask=%~1 if not defined sMask exit /b 0 echo Delete by [%sMask%] del %sMask% 2>nul shift goto :DeleteByMask :Usage echo Usage: echo %~nx0 ^<mask^> [^<mask^> ...] exit /b 0 Цитата Gablik:
|
|
Отправлено: 01:47, 16-09-2011 | #3 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать И последний вопрос
как через сценарий проверить что другой файл является батником или сценарием и запустить его? |
Отправлено: 01:57, 16-09-2011 | #4 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать |
|
Последний раз редактировалось Gablik, 16-09-2011 в 02:35. Причина: нашел ошибку Отправлено: 02:33, 16-09-2011 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Gablik:
@echo off setlocal enableextensions enabledelayedexpansion set sFile=%~1 if defined sFile ( if exist "%sFile%" ( call :CheckExt "%sFile%" && echo File [%sFile%] is not executable || echo File [%sFile%] is executable ) else ( echo File [%sFile%] not found ) ) else ( echo Need argument ) endlocal exit /b 0 :CheckExt setlocal for %%i in (%PATHEXT:;= %) do if /i [%%i] == [%~x1] exit /b 1 exit /b 0 Цитата Gablik:
|
||
Отправлено: 04:09, 16-09-2011 | #6 |
Старожил Сообщения: 493
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:16, 16-09-2011 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать SANIOK_AV, несколько раз начинал писать большую петицию, написание растягивалось, браузер падал, машина зависала… Стало быть, не судьба, отпишусь нынче коротко.
Цитата SANIOK_AV:
Исторически было принято считать нулевой код возврата дочернего процесса его корректным завершением, а ненулевые коды возврата — использовать для уведомления родительского процесса дочерним процессом о той или иной ошибке в своей работе. Тут, опять же, есть проблема — что именно считать ошибкой? Скажем, некоторые приложение вовсе не устанавливают код возврата, иные же, например, «choice.exe» — используют код возврата для уведомления родительского процесса о сделанном пользователем выборе, а не об ошибке. Так что, является ли ненулевой код возврата ошибкой или не является — заранее сказать ничего нельзя, нужно знать конкретное приложение, о котором ведётся речь. Возвращаясь к «call», скажу, что всё изложенное выше справедливо и для пакетных файлов — как Вы сочтёте нужным считать, так и будет. Информацию о кодах возврата конкретных приложений стоит узнавать непосредственно из их документации (причём, от версии к версии информация может отличаться). Касаемо внутренних и внешних команд операционной системы документацию можно взять в «%SystemRoot%\Help\ntcmds.chm» — для XP, в Windows Command Reference — для более старших версий и, наконец, в MSDN/TechNet/KB непосредственно на сайте Microsoft. |
|
Отправлено: 06:14, 06-12-2011 | #8 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Цитата Gablik:
|
|
Отправлено: 18:04, 06-12-2011 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Угу, для меня это тоже когда-то было откровением. Пусть теперь и коллега Gablik порадуется.
|
Отправлено: 21:33, 06-12-2011 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удалить папки по маске | run0ut | Скриптовые языки администрирования Windows | 9 | 21-03-2017 01:27 | |
CMD/BAT - копирование файлов удовлетворяющих маске из одного каталога в два других | Gablik | Скриптовые языки администрирования Windows | 5 | 15-09-2011 15:13 | |
Переименовать файлы по маске и времени создания | porokh | AutoIt | 1 | 18-08-2011 11:13 | |
Как удалить разделы в реестре по маске? | TempUser | AutoIt | 0 | 14-05-2011 15:49 | |
Удалить файлы в папке по маске | Nealles | Программирование и базы данных | 4 | 10-09-2003 23:11 |
|