|
CMD/BAT маска имени файла в цикле FOR
|
|||
---|---|---|---|
#18+
Добрый день! Занимаюсь обработкой графических файлов с помощью консольного утилита ImageMagick таким образом: Код: sql 1. 2. 3. 4. 5. 6.
Берутся файлы из каталога и всех подкаталогов, происходит их обработка, после чего новый файл сохраняется с новым расширением(к расширению добавляется символ "_" - это принципиально важный момент в моем случае), а старый файл удаляется. Проблема в маске расширения файла *.jpg. Под нее попадают уже обработанные файлы с расширением jpg_. Т.е. файлы, которые уже обработаны, обрабатываются повторно, а мне этого не надо. Подскажите, как задать маску, чтобы под нее попадали файлы строго с расширением jpg. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 17:30 |
|
CMD/BAT маска имени файла в цикле FOR
|
|||
---|---|---|---|
#18+
Маска проверяется как для длинного, так и для короткого имени файла. Четырёхбуквенное расширение с подчёркиванием на конце в этом свете - плохая идея. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 17:45 |
|
CMD/BAT маска имени файла в цикле FOR
|
|||
---|---|---|---|
#18+
Denis_Kuznetsov, А если попробовать применить знаки ? Типа *.jp? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 08:57 |
|
CMD/BAT маска имени файла в цикле FOR
|
|||
---|---|---|---|
#18+
Alien99, с такой маской вообще не происходит обработка файлов ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 10:32 |
|
CMD/BAT маска имени файла в цикле FOR
|
|||
---|---|---|---|
#18+
эту конструкцию можно заменить командой ввода вывода DIR и объединить её с FINDSTR если надо фильтрануть более детально DIR /s /b /a вернёт рекурсивный список файлов с полным путём разделенным переносом строки, по этому через FOR её будет легко обработать, а прикрутив FINDSTR можно задать какой угодно фильтр на базе REGEX. попробуйте вот такое исполнение Код: powershell 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 10:47 |
|
CMD/BAT маска имени файла в цикле FOR
|
|||
---|---|---|---|
#18+
либо как вариант, предварительно выполните инструкцию DIR и перенаправьте результаты в файл, потом пробегитесь по файлу, тогда новые файлы не будут попадать в обработку. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 10:48 |
|
CMD/BAT маска имени файла в цикле FOR
|
|||
---|---|---|---|
#18+
Roman Mejtes, спасибо большое, помогло. Остался один маленький вопрос: почему в маске [^^_], а не [^_]? Roman Mejtesэту конструкцию можно заменить командой ввода вывода DIR и объединить её с FINDSTR если надо фильтрануть более детально DIR /s /b /a вернёт рекурсивный список файлов с полным путём разделенным переносом строки, по этому через FOR её будет легко обработать, а прикрутив FINDSTR можно задать какой угодно фильтр на базе REGEX. попробуйте вот такое исполнение Код: powershell 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 12:12 |
|
CMD/BAT маска имени файла в цикле FOR
|
|||
---|---|---|---|
#18+
Denis_KuznetsovRoman Mejtes, спасибо большое, помогло. Остался один маленький вопрос: почему в маске [^^_], а не [^_]? Я сам не пойму, изначально я тоже написал [^_], но вместо отрицания мне возвращались файлы именно с окончанием "_" :) Возможно это какая то бага FINDSTR ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 12:18 |
|
|
start [/forum/topic.php?fid=26&msg=39597632&tid=1492820]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
125ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 253ms |
total: | 485ms |
0 / 0 |