Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление файлов по списку

Ответить
Настройки темы
CMD/BAT - Удаление файлов по списку

Аватара для Freddy1984

Старожил


Сообщения: 147
Благодарности: 9

Профиль | Цитировать


Изменения
Автор: Freddy1984
Дата: 02-05-2017
Здравствуйте! Прошу помощи.

For /f "tokens=*" %%i in (list.txt) do attrib -a %%i
attrib -a %0

Исходя из данного скрипта, список удаляемых слов/строк должен находится в файле "list.txt"

Вопрос: а как сделать так, что бы список слов/строк можно было прописать в самом скрипте, а не ссылаясь на отдельный файл со списком на удаление строк из "list.txt"?

Спасибо.

Отправлено: 10:44, 02-05-2017

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


пропишите в начале скрипта закомментированный список файлов и ссылайтесь на сам скрипт

Отправлено: 13:04, 02-05-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo Off
Cls

Set "File=%~dpnx0"

FOR /F "usebackq Skip=2 tokens=1 delims=[]" %%n IN (`Find /N "@@@@@" "%File%"`) DO Set /A NSkip=%%n
FOR /F "usebackq delims=" %%f IN (`more +%NSkip% "%File%"`) DO Echo "%%f"

pause
GoTo :Eof

@@@@@@@@@@@@@@@@@@@@
Z:\Box_In\exampl_report.xls
Z:\Box_In\textfile.txt
Z:\Box_In\Вывод_в_одну_строку.bat
Z:\Box_In\Вывод_в_одну_строку.bat.txt
Z:\Box_In\*.xlsx
Z:\Box_In\Книга1.xls
Z:\Box_In\Книга12345678.xls
Z:\Box_In\Рекурсия_список_файлов_в_поддиректориях.vbs
Z:\Box_In\Собрать данные из нескольких текстовых файлов.xls
Список файлов сразу после @@@@@@@@@@@@@@@@@@@@
Вместо Echo напишите нужное Вам действие. Я не стал этого делать, так как в заголовке удалить, а в примере - изменить атрибут
При развитии скрипта, если у Вас возникнет необходимость, список файлов должен быть после всего кода.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:51, 02-05-2017 | #3

y-- y-- вне форума

Старожил


Сообщения: 231
Благодарности: 62

Профиль | Отправить PM | Цитировать


megaloman, Цитата megaloman:
При развитии скрипта, если у Вас возникнет необходимость, список файлов должен быть после всего кода. »
это не обязательно - развивать можно например так:
Код: Выделить весь код
@ECHO OFF
SET "BEGIN_MARKER=:ENDFILE1"
SET "END_MARKER=:ENDFILE2"
FOR /F "usebackq tokens=1 delims=:" %%a IN (`FINDSTR /N /B /C:"%BEGIN_MARKER%" "%~0"`) DO SET "SKIP_LINE=%%a"
CALL :WORK "%SKIP_LINE%" "%END_MARKER%" "%~0"
GOTO :EOF

:WORK
FOR /F "usebackq skip=%~1 tokens=1 eol=; delims=" %%a IN (`TYPE "%~3"`) DO IF NOT "%%a"=="%~2" (ECHO %%a) ELSE (GOTO :EOF)
GOTO :EOF

:ENDFILE1
;1
2
3
4
5

:ENDFILE2
6
7
8
При этом считывание строк производится от метки до метки - ну или до конца файла - при отсутствии маркера конца чтения...

-------
Ты это - заходи если что...


Последний раз редактировалось y--, 03-05-2017 в 09:15. Причина: Исправлены орфографические ошибки в текстовом описании


Отправлено: 09:14, 03-05-2017 | #4


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Вообще, крайне желательно не использовать подобный подход. Должно быть: мухи отдельно, котлеты отдельно код отдельно, данные отдельно.

Отправлено: 16:37, 03-05-2017 | #5


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Iska,
Цитата М.Жванецкий:
Надо, чтобы вы руководили принципами, а не принципы вами.
Главное - логика ситуации. Иметь 2 файла это часто неудобно. Кстати, MS SQL Server, в базе - и данные, и процедуры для их обработки.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 17:31, 03-05-2017 | #6


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


megaloman, тут Вы путаете. И там — таблицы отдельно, запросы отдельно. Когда Вам понадобятся разные наборы данных — порочность подхода сразу становится видна.

Отправлено: 18:02, 03-05-2017 | #7

y-- y-- вне форума

Старожил


Сообщения: 231
Благодарности: 62

Профиль | Отправить PM | Цитировать


Iska,
Цитата Iska:
Когда Вам понадобятся разные наборы данных — порочность подхода сразу становится видна. »
в приведенном мною примере уже сразу заложена возможность использовать произвольное количество наборов (однородных в пределах набора) данных...

Цитата Iska:
И там — таблицы отдельно, запросы отдельно. »
запросы??? Сторки, функции, типы пользовательких данных, вьюхи - и это все прям отдельно? Да у вас, батенька, винегрет не перемешан

-------
Ты это - заходи если что...


Отправлено: 19:31, 03-05-2017 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата y--:
в приведенном мною примере уже сразу заложена возможность использовать произвольное количество наборов (однородных в пределах набора) данных... »
Повторяю: идея порочна по сути. Вы предлагаете жить с заранее и строго предопределёнными наборами данных.

Цитата y--:
запросы??? Сторки, функции, типы пользовательких данных, вьюхи - и это все прям отдельно? Да у вас, батенька, винегрет не перемешан »
Смешались в кучу кони, люди. y--, не натягивайте сову на глобус.

Отправлено: 20:09, 03-05-2017 | #9


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата Iska:
код отдельно, данные отдельно. »
скрипты обычно и делают для частных задач, реализовывать общее решение часто и избыточно и нерационально
в общем-то от этого (преждевременной оптимизации и заделов на будещее масштабирование) часто предостерегают и при обычной разработке ПО

ну а конкретно такой подход чуть ли не Best Practice - exe файлы в основном для этого и придумали, чтобы впихать туда помимо кода ещё и ресурсы. Тут всё красивенько - не захардкодено, а отдельным списком

Отправлено: 23:48, 03-05-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление файлов по списку

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Удаление файлов и папок по списку с выводом результата в файл Sub-Zero Скриптовые языки администрирования Windows 0 08-12-2015 23:12
CMD/BAT - распределение файлов по папкам по списку bellagio Скриптовые языки администрирования Windows 1 11-05-2014 13:14
CMD/BAT - Перемещение файлов по списку Arsenik77 Скриптовые языки администрирования Windows 4 04-12-2011 20:43
Прочие БД - Извлечение файлов по списку Aviator Программирование и базы данных 1 22-02-2011 02:44
[решено] Замена файлов по списку Endy1 Программирование в *nix 9 15-02-2010 13:50




 
Переход