|
1673 / 501 / 107
Регистрация: 17.05.2015
Сообщений: 1,518
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Генератор исходных файлов для Visual Studio20.08.2019, 12:57. Показов 1264. Ответов 4
Всем привет!
Я уже изготовила парочку батников: 00-filter.bat и 00-sources.bat. Они решают поставленную задачу. Проблема в том, что мне нужен только один. А эти двое работают слишком медленно. Я подумала, что решение на vbs будет быстрее. Суть задачи: На вход подаётся путь к каталогу с исходниками проекта. И имена выходных файлов. На выходе - два файла: sources.props и test-md.vcxproj.filters (имена задаются) Например, если каталог исходников содержит файлы:
sources.props
Между секциями - пустая строчка test-md.vcxproj.filters
Алгоритм: 1. На входе получаем путь к каталогу с исходниками, и имена выходных файлов 2. Путь к каталогу с исходниками преобразовывается в абсолютный путь. 3. Зная путь к каталогу, запрашиваем список всех файлов в каталоге (рекурсивно: включая подкаталоги) 4. Полученный список анализируется: Важно: файловый путь, где имя файла или каталога начинаются с символа подчеркивания _*должны быть проигнорированы. (удалены из списка) 4.1 Сначала отбираем из списка все файлы с расширением .h И генерируем секцию вида:
Затем, по аналогии выше, отбираем из списка все файлы с расширением .hpp
которые ещё не были обработанны выше
Перебираем весь список, что бы получить списки подкаталогов. Формируем секцию вида:
Далее по аналогии с пунктом 4. - 4.2 Формируются секции вида:
В отличие от пункта 4. - 4.2 добавляется вложенный атрибут:
src - это файловый путь относительно родительского каталога с исходниками.5.3 Например, для файла: $(gPATH_SOURCE)\src\tools\test.cppРезультат будет выглядеть:
На основании полученных секций формируем итоговые файлы. --- Опыта работа с vbscript у меня практически нет. Я не прошу готовый скрипт. Буду признательна, если покажите как вообще из под батника запустить vbs, передав ему стартовые параметры. И покажите примеры, как на vbs можно рекурсивно обойти файловую систему. Как формировать, перебирать списки текстовых строк, и удалять из них элементы.
0
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 20.08.2019, 12:57 | |
|
Ответы с готовыми решениями:
4
Создание DLL файлов для C# в Visual Studio Установка C++ Redistributable Visual Studio 2017 и Visual C++ для Visual Studio 2015 |
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
|
| 24.08.2019, 18:48 | |
|
eva2326, если непременно нужен WSH, лучше обратить внимание на JScript, а не VBScript; прибежит FlasherX будет доказывать обратное, не слушайте, так как в отличии от последнего JScript не стоит на месте и в Win10 может похвастать совместимостью некоторых фич с ECMA (движок chakra). В целом же, описанная вами задача гораздо проще может быть решена в PowerShell. Выбор за вами.
0
|
|
| 24.08.2019, 19:58 | ||
|
Не по теме:
О вкусовых предпочтениях не спорят (js/vbs — кому какая разница?). Также глупо утверждать об простоте. Простота не обуславливается лишь числом символов в коде. Исходит она как минимум из удобочитаемости (в т.ч. ошибок) и быстроты вовлечённости в конву семантической модели. И поскольку 10-ка здесь в условиях не заявлена, как и не приведено ни одного живого wsh-примера, слушать "прибежавшего" FlasherX или "покинувшего форум" greg zakharov — что воду варить да пень колотить...
0
|
||
|
Покинул форум
3701 / 1484 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
|
|
| 24.08.2019, 20:57 | |
|
FlasherX, для чего эта истерика? Какой вам пример нужен?
0
|
|
|
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
|
||
| 24.08.2019, 21:06 | ||
|
greg zakharov, истерика? Впрочем, день ещё не закончен — можно и её приплести, как и "мой" запрос на примеры...
0
|
||
| 24.08.2019, 21:06 | |
|
Помогаю со студенческими работами здесь
5
Зачем для создания формы на Angular использовать Visual Studio и Visual Studio Code?
Шифрование файлов Visual Studio C++
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|