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

Поиск папки по части имени в указанном каталоге, последующее удаление её и файлов в ней

18.03.2015, 18:36. Просмотров 1949. Ответов 2
Метки нет (Все метки)

Ребята, всем привет!
В батниках не силён ни разу
Пытался сделать по аналогии по смежным темам, но чем дальше - тем более с этими set /p, %%, for /d запутываюсь

задача по действиям
1. найти папку по части имени (например, '20140713') в каталоге (каталог должен задаваться в теле батника) "C:\MyTemp"
2. проверить одна ли она такая
3.1 если одна такая - удалить её и файлы в ней
3.2 если нет папки или папок больше чем одна - запись в текстовик с сообщением

пожалуйста, помогите!

как вижу

Bash
1
2
3
4
5
6
7
8
9
10
@echo on
set OsnovnoiCatalog = "C:\MyTemp" --- мой каталог
set ChastPapki = "20140713" --- нужная часть имени в папке
set logfile="MyLog.txt" --- файл с логом
дальше должно быть
if exist --- но что дальше?!?!?
потом
for /d --- d? т.к. это папки
Y|del /q --- типа при удалении на вопрос ответить Y и удалить полностью с файлами
if not exist >>%logfile% --- запись в лог
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2015, 18:36
Ответы с готовыми решениями:

Распределение файлов из папки по части имени файла в папки, содержащие файлы с похожим именем (квитовка)
Добрый день! Искал по форуму, но мне не удалось найти похожее решение. К примеру имеется...

Удаление из заданного 1-ым параметром каталога файлов, присутствующих и в каталоге, указанном 2-ым параметром
Разработать и выполнить командный файл (КФ), выполняющий удаление из каталога, заданного первым...

Поиск папки по части имени, эксперимент на скорость
Если, например, проводить поиск папок по имени и при этом (назовем те что ищем нужными и те что не...

Удаление файлов которых нет в базе, но есть в указанном каталоге
Шарю в папке файлы, смотрю есть ли с таким именем в базе, и если нет файла с таким именем в базе -...

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

2
ComSpec
3409 / 1953 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
18.03.2015, 22:37 2
Bash
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
26
27
28
29
30
31
32
33
@echo off& setlocal
 
set "directory=C:\MyTemp"
set "known_part=20140713"
set "log_file=MyLog.txt"
 
set n=0
pushd "%directory%"
for /f %%i in ('2^>nul dir/ad/b "*%known_part%*"') do (
 set/a n+=1
 call set $%%n%%=%%i
)
popd
>"%log_file%" (
if %n% equ 0 (
 echo Таких папок не найдено.
)
if %n% equ 1 (
 pushd "%directory%"
 2>nul rd/q/s "%$1%"&& (
 echo Удалена папка "%$1%".
 )|| (
 echo Папка "%$1%" найдена, но удалить полностью её не удалось.
 )
 popd
)
if %n% gtr 1 (
 echo Таких папок найдено %n%:
 cmd/v/c "for /l %%i in (1 1 %n%) do @echo !$%%i!"
)
)
 
endlocal& exit/b
2
ad82117
0 / 0 / 0
Регистрация: 18.03.2015
Сообщений: 2
19.03.2015, 09:43  [ТС] 3
ComSpec, ёлы-палы, нет слов, я бы такое не написал
спасибо огромное! а Вы можете, если Вам не трудно дать пояснения к каждой строке
- почему 3-5 set в кавычках? в примерах set = без кавычек
- почему for /f
- что такое %%i и '2^>nul dir/ad/b "*%known_part%*"' по каждому символу
- что такое call set $%%n%%=%%i
- popd, %n%, pushd, 2>nul rd/q/s "%$1%"&& (, ||, gtr, cmd/v/c "for /l %%i in (1 1 %n%) do @echo !$%%i!"
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2015, 09:43

Поиск файлов по части имени \ имени
var SR: TSearchRec; Folder: String; begin Folder := 'D:\'; Folder :=...

Найти папки по части имени и создать список находящихся в них файлов
Здравствуйте! Я новичок, сам не смог разобраться. Помогите , пожалуйста! На разных дисках есть...

Реализовать поиск в указанном каталоге всех файлов во всех поддиректориях и сформировать XML в нужном формате
Задача: Искать в указанном каталоге все файлы во всех поддиректориях и формировать XML в нужном...


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

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

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