|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление всех файлов кроме указанных, с содержанием указанных букв в названии |
|
|
CMD/BAT - [решено] Удаление всех файлов кроме указанных, с содержанием указанных букв в названии
|
![]() Пользователь Сообщения: 90 |
кучу тем было знаю но почему то непоулчается удилить по особенному
брал шаблон такой: rem ========================================= @Echo Off Set Otkuda=Steam Set NoDelete=%~nx0.NoDelete @Echo %0 >%NoDelete% @Echo \*ssfn* >>%NoDelete% @Echo \*.blob >>%NoDelete% FOR /F "usebackq delims=" %%f IN (`xcopy "%Otkuda%\*.*" C:\ /L /S /EXCLUDE:%NoDelete%`) DO Del "%%f" Del %NoDelete% объясните как записать что бы выделенные файлы жирным не удалялись мб вместо пушинки нужно что то другое? Если вписать просто steam.exe то все в порядке с этим файлом, в другом случае не получается |
|
Отправлено: 10:42, 15-04-2016 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Подстановочные знаки в файлах для /EXCLUDE не работают.
Могу предложить свои изменения в Ваш код Идея изменений: все имена файлов, найденных Dir и соответствующих маске, записываются в файл для /EXCLUDE. @Echo off Set "Otkuda=Steam" Set "NoDelete=%~nx0.NoDelete" Set "DPath=%~dp0" @Echo %0 >%NoDelete% Set "Mask1=*ssfn*" Set "Mask2=*.blob" for /f "usebackq Delims=" %%f in (`dir "%DPath%%Otkuda%\%Mask1%" "%DPath%%Otkuda%\%Mask2%" /b /s /A:-d 2^>nul`) Do Echo %%f>>"%NoDelete%" FOR /F "usebackq delims=" %%f IN (`xcopy "%DPath%%Otkuda%\*.*" C:\ /L /S /EXCLUDE:%NoDelete%`) DO Del "%%f" 2>nul Del %NoDelete% |
------- Последний раз редактировалось megaloman, 15-04-2016 в 13:00. Отправлено: 12:19, 15-04-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Пользователь Сообщения: 90
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 12:27, 15-04-2016 | #3 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать что происходит? - это практически полностью Ваш код, попытаюсь его пояснить.
Подпапка Steam, похоже, расположена в одной папке с батником. В команде Dir под For идёт поиск файлов по Вашим маскам, результат поиска - полные имена файлов- записываются в файл. Затем в команде Xcopy этот файл с полными именами применяется для работы опции /EXCLUDE Чтобы при этом генерировались полные имена, к указанной папке Steam дописывается её полный путь, взятый в команде Set "DPath=%~dp0" для диска и пути батника. Для отладки заремьте rem Del %NoDelete% и после работы батника текстовым редактором посмотрите этот файл |
------- Отправлено: 12:45, 15-04-2016 | #4 |
![]() Пользователь Сообщения: 90
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
это как то отразится на работу? проверяю вроде все удаляется беда удаляются папки с содержимым, их добавлять в маску? короч в папке стим есть файлы и папки, файлы удаляются все как нужно, и убиваются файлы в нужных папках а это плохо как быть? ![]() |
||
Последний раз редактировалось mrG0bliN, 15-04-2016 в 13:05. Отправлено: 12:51, 15-04-2016 | #5 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать mrG0bliN, Подход неправильный. Просмотрите ваш код так:
Откуда должны теперь удалиться оставшиеся файлы, из папки Steam? И они нужны как таковые на C:\ или нет, какова точно конечная цель задачи или интересует именно процедура исключения в команде xcopy? |
Отправлено: 13:04, 15-04-2016 | #6 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата:
Я попробовал - никак. Почему? Команда Xcopy с ключом /L не вызывает реального копирования файлов, она выдаёт только список файлов. Поэтому не принципиально, что в папке назначения, лишь бы она существовала. В данном контексте C:\ вообще можно убрать. Цитата alpap:
|
||
------- Последний раз редактировалось megaloman, 15-04-2016 в 13:18. Отправлено: 13:07, 15-04-2016 | #7 |
![]() Пользователь Сообщения: 90
|
Профиль | Отправить PM | Цитировать alpap,
я написал батник который работает если находит рядом папку steam, если папки нет то выпадает окно что найдите папку и докиньте батник туда рядышком от этого все и двигаюсь, сам по себе батник удаляет указанные файлы из папки стим Цитата:
что то типо такого но после таких мелких вычищений в папках стима, нужно сам стим почистить. там много разных файлов но есть определнные которые удалять нельзя, см список выше +папки сердечно важные такие как STEAMAPPS Цитата megaloman:
не все папки и их содержимое удлять, есть исключения честно не знаю как написать что бы их не удаляло по маске |
||
Отправлено: 13:11, 15-04-2016 | #8 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата mrG0bliN:
Давайте забудем Ваш код и Вы подробно излОжите, что Вам нужно. |
|
------- Отправлено: 13:24, 15-04-2016 | #9 |
![]() Пользователь Сообщения: 90
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось mrG0bliN, 15-04-2016 в 13:41. Отправлено: 13:34, 15-04-2016 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - VBS удаление файлов, по маске и папок из указанных расположений. | Karotin | Скриптовые языки администрирования Windows | 0 | 24-11-2015 15:05 | |
CMD/BAT - [решено] Удаление файлов и папок кроме указанных. | mrG0bliN | Скриптовые языки администрирования Windows | 20 | 07-11-2015 03:59 | |
CMD/BAT - [решено] Удаление указанных подкаталогов в указаном каталоге | ritrs@vk | Скриптовые языки администрирования Windows | 1 | 14-05-2015 00:04 | |
CMD/BAT - [решено] Удаление всех файлов (всех типов) из всех подпапок, кроме расширений txt | kot318 | Скриптовые языки администрирования Windows | 10 | 12-02-2015 15:48 | |
Регулярное выражение - вырезать все кроме указанных в масиве слов | venuko | Вебмастеру | 14 | 30-01-2009 09:51 |
|