Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/42: Рейтинг темы: голосов - 42, средняя оценка - 5.00
AIIIOTik
0 / 0 / 0
Регистрация: 06.09.2015
Сообщений: 5
1

Поиск и удаление файлов/папок

06.09.2015, 23:23. Просмотров 7872. Ответов 10
Метки нет (Все метки)

Здравствуйте. У меня такой вопрос! Как сделать bat файл, один из которых будет искать и удалять нужную папку а другой конкретный файл.

Я нашел один вариант который работает если запустить СMD консоль:
Windows Batch file
1
for /r %R in (имя папки или файла) do if exist %R (rd /s /q "%R")
- поиск и удаление файла
но через файл СMD\BAT он не запускаете.

Так же нашел один поиск который ищет файлы, и создает переменную. Я его пытался дописать но чет он не работает:
Windows Batch file
1
2
3
4
Where /r C:\ ddd3.txt
for /f "tokens=*" %%a in ('Dir /b/s/a-d C:\ddd3.txt') Do Set $Path=%%a 
del "$Path"
Pause
Я не пойму что в данной ситуации не верно.

В общем парни, если вы напишите скрипт на поиск и удаления файлов\папок то буду очень признателен.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2015, 23:23
Ответы с готовыми решениями:

Удаление папок и файлов
Доброго времени суток! Проблема заключается в следующем, на сервере при...

Удаление папок и файлов с выбором
Здравствуйте, прошу вашей помощи. У меня на диске C:\ постоянно собирается...

Удаление файлов и папок в корзину
Доброго времени суток! Подскажите как переместить файлы и папки из папки Х в...

Сравнение и удаление файлов и папок
всю голову поломал с этой задачей нужен bat или cmd файл который закидывается...

Запрет на удаление файлов/папок
Здравствуйте. Такая проблема: на компьютере есть два пользователя "User" и...

10
alpap
1810 / 1329 / 432
Регистрация: 26.04.2015
Сообщений: 4,547
07.09.2015, 20:30 2
AIIIOTik, Каталог можно удалить так:
Windows Batch file
1
2
3
4
5
@echo on
for /r "%Userprofile%\Desktop\proba" %%i in (".") do (
 if exist "%%i" rd /s /q "%%i"
)
pause
, а для удаления файла используется команда del (del /?).

Добавлено через 10 минут
А чтобы нужную папку, надо зайти в ту, где она есть, найти и удалить:
Windows Batch file
1
2
3
4
5
6
@echo on
cd /d "%Userprofile%\Desktop"
for /r %%i in ("proba") do (
 if exist "%%i" rd /s /q "%%i"
)
pause
.
0
AIIIOTik
0 / 0 / 0
Регистрация: 06.09.2015
Сообщений: 5
07.09.2015, 21:45  [ТС] 3
Спасибо за ответ. Но я наверное не так выразился....
У меня задача найти файл или папку в компьютере (где она точно я не знаю) и удалить ее.
0
alpap
1810 / 1329 / 432
Регистрация: 26.04.2015
Сообщений: 4,547
07.09.2015, 23:53 4
AIIIOTik, А, если, такая папка (или файл), не в одном экземпляре на компьютере, удалять все или как?

Добавлено через 32 минуты
И, все-таки, лучше искать что-то определенное в определенном месте, иначе и поседеть можно к концу поиска:
Windows Batch file
1
2
3
4
5
6
7
8
9
@echo on
set NameFile=1.txt
set From="%~dp0%NameFile%"
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
 if exist "%%i:\*.*" (
  for /f "usebackq delims=" %%j in (`dir /s /b /a-d "%%i:\%NameFile%" 2^>nul`) do (
   echo "%%j"
)))
pause
.
0
b0gus
271 / 170 / 73
Регистрация: 17.03.2014
Сообщений: 489
08.09.2015, 00:16 5
AIIIOTik,
Цитата Сообщение от AIIIOTik Посмотреть сообщение
задача найти файл или папку в компьютере (где она точно я не знаю)
для удаления файла на ОС Win7 можно попробовать так:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@echo off
                :: file - имя или маска жертвы для удаления
set "file=test-01.cmd"
                :: from - имя папки, с которой начинаем искать жертву
                :: завершающий обратный \ для диска - обязателен,
                :: папка кодируется БЕЗ завершающего \
 
set "from=c:\Program Files"
set "from=c:\"
 
call :delall-file "%file%" "%from%"
pause
exit /b
 
:delall-file
echo удалить РЕКУРСИВНО файлы с именем "%file%",
echo начиная с папки "%from%" ?
echo.
pause
echo....наберись терпения - рекурсивно ищу файлы начиная с папки %from%
 
                :: удалить echo в следующей строке, чтобы РЕАЛЬНО избавиться от файлов
 
for /f "tokens=*" %%v in ('where /r %~s2 /f %~snx1') do echo del %%v
exit /b
0
AIIIOTik
0 / 0 / 0
Регистрация: 06.09.2015
Сообщений: 5
08.09.2015, 00:47  [ТС] 6
alpap
Этот скрипт отлично находит файл.
Но я не пойму как воспользоватся переменной для удаления файла (в общем не знаю что делать дальше)

Насчет удаления. В идеале мне нужно удалить определенные файлы и папке в конкретно установленной программе, но заранее знать куда была установлена программа я не могу.
Но в данной ситуации я буду доволен и тем что у меня будет бат файл который удалит все папки\файлы с этим именем.

Добавлено через 16 минут
b0gus
Спасибо.
Скрипт отлично работает. Вопрос. Как удалить папки?
0
b0gus
271 / 170 / 73
Регистрация: 17.03.2014
Сообщений: 489
08.09.2015, 00:48 7
AIIIOTik,
Цитата Сообщение от AIIIOTik Посмотреть сообщение
не пойму как воспользоватся переменной для удаления файла (в общем не знаю что делать дальше)
Windows Batch file
1
2
set "file=указать_имя_файла_и_его_расширение"
set "from=указать_папку_с_которой_надо_начать_искать_файл"
0
alpap
1810 / 1329 / 432
Регистрация: 26.04.2015
Сообщений: 4,547
08.09.2015, 00:52 8
AIIIOTik, Для деинсталляции программ лучше пользоваться спец софтом. А по-поводу удалить файлы и (или) папки с именем, не нужным Вам (на Ваш взгляд) и неизвестно где - можно и пол ОС снести, поудаляйте все что окончится на ..._boot, например, что за подход к задаче. Точно и четко, что и где и когда удалять, зачем это нужно именно с помощью бат и разово ли при этом или раз нужет бат, то постоянно. И почему в программах, если так кое-чего поудалять она и работать-то не сможет, если наоборот внедрять обновления или патчи, то это уже и подход другой.
1
AIIIOTik
0 / 0 / 0
Регистрация: 06.09.2015
Сообщений: 5
08.09.2015, 10:37  [ТС] 9
Ладно отвечу детальние.
Я создал инстолятор который будет устанавливать дополнительные плагины в программу 3d max.
Но мне так же надо удалить не нужные папки в Max-cе которых там на 1.гб. Самый простой выход на мой взгляд это bat файл. (хотя уже, если будет способ легче, то я все равно уже хочу научится делать это через bat файло)
И все это я хотел сделать не только для личного пользования, потому знать где установлена программа я не могу, а уходить в дебри риестров мне кажетсся еще сложнее.

Посему парни если вы мне поможете (а вы уже помогли, просто осталось дажать чуть =)) то буду очень признателен.
0
sov44
08.09.2015, 11:35
  #10

Не по теме:

Цитата Сообщение от AIIIOTik Посмотреть сообщение
Самый простой выход на мой взгляд это bat файл.
самый простой вариант - 7z sfx, который будет и копировать файлы и удалять папки. А если и нужно вносить изменения в реестр и создавать ярлыки.

0
AIIIOTik
0 / 0 / 0
Регистрация: 06.09.2015
Сообщений: 5
08.09.2015, 14:01  [ТС] 11
Цитата Сообщение от sov44 Посмотреть сообщение

Не по теме:


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

Понял. Обязательно посмотрю. Но все же хочется уже дабить бат файлы)
0
08.09.2015, 14:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.09.2015, 14:01

Удаление файлов и папок в локальной сети
В локальной сети колледжа подключены ряд серверов для каких-то задач и все...

Удаление папок и файлов по разным путям
Приветствую! Есть необходимость удалять установочники (это может быть папка с...

Удаление дублей файлов и папок с FTP-сервера
Здравствуйте, пожалуйста помогите с написание bat файла. Надо удалить дубли...


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

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

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