9 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 6
1

Используя параметр, введенный с клавиатуры, удалить все файлы, содержащие этот параметр

15.09.2013, 20:45. Показов 1676. Ответов 13
Метки нет (Все метки)

Задание такое:используя параметр введенный с клавиатуры удалить все файлы содержащие этот параметр. Что нужно прописать в bat'е чтобы работало?

Заранее спасибо!

З.Ы. del %1 явно маловато =)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2013, 20:45
Ответы с готовыми решениями:

В настройках GoogleChrome стоит параметр "Этот параметр включен администратором". Стартовая страница yamdex.ne
При запуске Google: cтартовая страница yamdex.net.В настройках GoogleChrome стоит параметр "Этот...

В настройках GoogleChrome стоит параметр "Этот параметр включен администратором". Стартовая страница yamdex.ne
При запуске Google: cтартовая страница yamdex.net.В настройках GoogleChrome стоит параметр "Этот...

Из заданной последовательности слов удалить слова, содержащие введенный с клавиатуры символ
Нужна ваша помощь, про "спасибо" не забуду) Из заданной последовательности слов, разделенных...

В настройках GoogleChrome стоит параметр "Этот параметр включен администратором"
Прошу помощи. В настройках выбора поисковиков GoogleChrome стоит параметр "Этот параметр включен...

13
Pure Free Digital Ghost
4357 / 1795 / 351
Регистрация: 06.01.2013
Сообщений: 4,411
15.09.2013, 21:04 2
В смысле заданный параметр? В имени?
Тогда рекурсивно, начиная от текущей папки:
Bash
1
for /r %%A IN ("*%~1*") DO (erase "%%~fA")
0
9 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 6
15.09.2013, 21:10  [ТС] 3
У меня в каталоге лежат несколько файлов. Внутри некоторые параметры. Нужно удалить файлы внутри которых есть заданный параметр
0
Pure Free Digital Ghost
4357 / 1795 / 351
Регистрация: 06.01.2013
Сообщений: 4,411
15.09.2013, 21:23 4
Bash
1
for /f "usebackq tokens=*" %%A IN (`findstr /m "%~1" "*"`) DO (erase "%%A")
1
9 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 6
15.09.2013, 21:27  [ТС] 5
Вот что выдает, при этом удалил все текстовики
Миниатюры
Используя параметр, введенный с клавиатуры, удалить все файлы, содержащие этот параметр  
0
Pure Free Digital Ghost
4357 / 1795 / 351
Регистрация: 06.01.2013
Сообщений: 4,411
15.09.2013, 21:38 6
Вот что выдает, при этом удалил все текстовики
Не запускай из папки юзера. Положи, например, в папку на рабочем столе.
Полный подредактированный код:
Bash
1
2
@echo off
for /f "usebackq tokens=*" %%A IN (`findstr /m "%~1" "*"`) DO (if not "%%A"=="%~nx0" erase "%%A")
0
9 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 6
15.09.2013, 21:45  [ТС] 7
То же самое выдает
0
Pure Free Digital Ghost
4357 / 1795 / 351
Регистрация: 06.01.2013
Сообщений: 4,411
15.09.2013, 21:59 8
Цитата Сообщение от Dirk27 Посмотреть сообщение
То же самое выдает
Потому что findstr пытается получить доступ к файлам ntuser.dat, которые защищены на уровне ядра. Не запускай из папки C:\Users\имяЮзера.
0
9 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 6
15.09.2013, 22:02  [ТС] 9
Так я из другой папки запускаю
Миниатюры
Используя параметр, введенный с клавиатуры, удалить все файлы, содержащие этот параметр  
0
Pure Free Digital Ghost
4357 / 1795 / 351
Регистрация: 06.01.2013
Сообщений: 4,411
15.09.2013, 23:28 10
Значение текущей папки наследуется. Надо добавить в батник cd /d %~dp0
0
Эксперт WindowsАвтор FAQ
17675 / 7515 / 888
Регистрация: 25.12.2011
Сообщений: 11,288
Записей в блоге: 16
16.09.2013, 11:37 11
FraidZZ, тогда уж либо так:
Bash
1
cd /d "%~dp0"
либо так:

Bash
1
2
SetLocal EnableExtensions
cd /d %~dp0
cd /d начинает рассматривать возможные пробелы в пути в качестве разделителя, если отключена расширенная обработка команда
(а вдруг она у ТС отключена...)
1
9 / 0 / 0
Регистрация: 15.09.2013
Сообщений: 6
16.09.2013, 18:51  [ТС] 12
Cпасибо, теперь работает, но сказали что код гораздо проще, пишется простейшими командами
0
Эксперт WindowsАвтор FAQ
17675 / 7515 / 888
Регистрация: 25.12.2011
Сообщений: 11,288
Записей в блоге: 16
16.09.2013, 20:19 13
И где здесь сложная команда?
Параметры искать в файлах какой папки?
Вот на пару команд короче (для файлов в папке c:\temp):

Bash
For /F "delims=" %%? in ('2^>nul findstr /m "c:\temp\*"') do del "%%?"
0
Pure Free Digital Ghost
4357 / 1795 / 351
Регистрация: 06.01.2013
Сообщений: 4,411
16.09.2013, 20:49 14
Цитата Сообщение от Dragokas Посмотреть сообщение
findstr /m "c:\temp\*"
findstr /m "%~1" "c:\temp\*"
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.09.2013, 20:49

В настройках GoogleChrome стоит параметр "Этот параметр включен администратором"
В настройках GoogleChrome стоит параметр "Этот параметр включен администратором". Загружаются...

В настройках GoogleChrome стоит параметр "Этот параметр включен администратором"
В настройках GoogleChrome стоит параметр "Этот параметр включен администратором" сам же гугл...

В настройках GoogleChrome стоит параметр "Этот параметр включен администратором"
В настройках GoogleChrome стоит параметр "Этот параметр включен администратором". Стартовая...

Вывести все строки содержащие одинаковый параметр в ячеку excel
Добрый день. Макрос ищет по телу письма необходимые данные. НО если в письме встречаются две строки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.