|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
|
Автоматизация программы для работы по списку13.06.2013, 22:55. Показов 4239. Ответов 24
Метки нет (Все метки)
Здравствуйте!
Попытаюсь изложить свою задачку. Мне необходима автоматизация процесса, но не знаю в правильный ли форум ли я излагаю ее... У меня есть программа, которая в текстовых документах вносит изменения. Работает по следующему принципу - задал ей файлы (можно различными способами) и она работает по принципу найти и заменить. Программа поддерживает открытие нескольких окон. Пример: В каждом из трех документов(названия файлов разные) есть одинаковый текст "А" и надо заменить этот текст "А" в каждом документе на текст из списка, т.е. в первом документе "А" на "B", во втором "А" на "C", в третьем "А" на "D". Программа поддерживает работу по спискам. Иначе говоря, можно задать список обрабатываемых файлов и список что найти ("А") и на что заменить ("?"). Так как у меня текст "А" во всех документах, мне необходимо чтобы программа произвела замену константы "А" на некоторое значение из списка для каждого файла в отдельности. То есть взяла первый файл и заменила на первое значение из списка "Найти\заменить", затем второй файл и второе значение из списка и так N количество раз. Можно как то скриптом или из командной строки заставить программу произвести данные действия? Вот что нашел в хелпе к программе на английском: Кликните здесь для просмотра всего текста
WordPipe can be run from a DOS shell or from a shortcut with parameters to make it run automatically. This is very useful for automation and scheduling (by making the short cut an entry in the Start Up folder), and for running WordPipe from a batch file. Here is a complete example: "C:\Program files\WordPipe\wordpipe.exe" "/f=my replaces.wpp" /G /Q Note: Any commands with embedded spaces must be surrounded with double quotes. You must surround the entire command/setting combination e.g. "/f=c:\Program Files\WordPipe\my replacements.wpp" NOT /f="c:\Program Files\WordPipe\my replacements.wpp" Windows limits the command line length to about 260 characters. You can overcome this limitation by using the /Z=<filename> command to load command line parameters stored in a file. Note that you MUST remove any double quotes from around commands with embedded spaces when you put them in the command file. Conventions used below: <> surrounds text that is to be entered. Do NOT enter the '<' and '>' characters Alternatives are shown in square brackets '[' and ']' with a pipe '|' character between them. Do NOT enter the square brackets or the pipe character - just type the single alternative you require. Usage: "C:\Program files\WordPipe\wordpipe.exe" [/MINIMIZED|/MAXIMIZED] ["/F=my replaces.wpp"] [commands] [/G [/Q]] Where [commands] is zero or more of: /F=<.wpp filename> Opens a WordPipe settings file. /REPORT=<report filename> At the conclusion of the job, a text file report is written to the given filename. The /REPORT parameter must be after any /F command and before the /G command. /G Go. Begin processing replacements with WordPipe. Processing of the command line does not continue until the processing job is complete. /GS Same as /G, but search only mode. /I=<filename> Imports a search/replace list from Excel, Tab or CSV-delimited file, and adds it to the end of the grid. The current options settings are used for each row added. /MAXIMIZED Opens the application maximized. /MINIMIZED Opens the application minimized. /Q Quit WordPipe at the end of processing. The current settings are not saved. /Z=<filename> Read command line parameters from the specified file. Very useful for performing large numbers of changes, or for working around the Windows limitation of approx 260 characters on the command line. For example, if you had the long command line start /w wordpipe.exe "/f=my special filter.wpp" /g "/f=my special filter2.wpp" /g "/f=my special filter3.wpp" /g "/f=my special filter4.wpp" /g /q This would change to something like start /w wordpipe.exe /z=commands.txt and the file commands.txt would contain /f=my special filter.wpp /g /f=my special filter2.wpp /g /f=my special filter3.wpp /g /f=my special filter4.wpp /g /q Как я понял можно прописать в ярлыке эти команды для запуска и выбора списков.
0
|
|
| 13.06.2013, 22:55 | |
|
Ответы с готовыми решениями:
24
Какие есть программы для ubuntu, чтобы блокировать доступ к введенному мной списку сайтов? Написание программы с использованием файловых переменных. Разработка программы для работы с текстовым файлом Автоматизация работы в VK |
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 14.06.2013, 10:21 | |
|
Это нужно узнавать у автора программы делал ли он обработку командной строки.
0
|
|
|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
|
| 14.06.2013, 11:05 [ТС] | |
|
Alex77755, первым делом им написал, ответили -" you can automate this from the command line if you need to."
Получается можно. Но вот какими командами и как настроить, естественно, не уточнили.
0
|
|
|
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
|
|
| 14.06.2013, 11:48 | |
|
Ну там же речь идёт не о программах вообще, а о конкретной: WordPipe
И она разработана с поддержкой коммандной строки. А вот ваша программа неизвестно. И как я понял ответ: Если вам нужна автоматизация, то вы можете это согласовать к командой разработчиков программы. Типа они могут по вашей заявке добавить необходимый функционал. В школе 40 лет назад учил немецкий. Возможно не правильно понял.
0
|
|
|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
|
| 15.06.2013, 00:01 [ТС] | |
|
Dragokas, В самой программе были примеры, я их просто в саму папку повыше вытащил.
Сам использую ексель.
0
|
|
|
|
|
| 15.06.2013, 15:45 | |
|
Slamzor, у меня антивирус грохнул без предупреждения.
https://www.virustotal.com/ru/... 371296555/ http://www.securelist.com/ru/d... otector.bc
0
|
|
|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
|
| 15.06.2013, 15:57 [ТС] | |
|
Dragokas, Вполне может быть. Она с лекарством
была, простите, что не предупредил. Прилагаю триал версию на 30 дней.
0
|
|
|
|
|||||||||||
| 20.06.2013, 17:38 | |||||||||||
|
Собственно весь процесс подстановки имени файла и перечня замен происходит не в командной строке, а в файле задания .wpp
Вот он: Кликните здесь для просмотра всего текста
А теперь обратите внимание на выделенные строки: Кликните здесь для просмотра всего текста
<?xml version="1.0" encoding="UTF-8"?>
<!--WordPipe 5.6.5 from http://www.DataMystic.com--> <settings> <AllowAlerts>False</AllowAlerts> <StartFolder>D:\</StartFolder> - где искать файлы для замены <FileType>*.doc*;*.dot;*.rtf</FileType> - маска для файлов (можно указать 1 конкретный) <IncludeSubdirs>True</IncludeSubdirs> - искать ли в подпапках <RetainFileDates>False</RetainFileDates> <Password/> <UnprotectPassword/> <CheckFromFile>False</CheckFromFile> <FromFilename/> <ListFilename/> <ScanForFiles>True</ScanForFiles> <Backup>False</Backup> <ISOName/> <ISOIncrement>0.1</ISOIncrement> <RestartDocCount>1000</RestartDocCount> <AppVersion>0</AppVersion> <AutoKillSeconds>0</AutoKillSeconds> <ExeLocation/> <ListOfFiles/> <FileMode>0</FileMode> <Ranges>0</Ranges> <MatchCase>False</MatchCase> <WholeWord>False</WholeWord> <LongestFirst>False</LongestFirst> <Prompt>False</Prompt> <MatchByte>False</MatchByte> <ReadOnly>False</ReadOnly> <Highlight>-1</Highlight> <TextPipeFilter/> <FieldCodes>False</FieldCodes> <FirstOnly>False</FirstOnly> <ForceSave>True</ForceSave> <UpdateFieldCodes>True</UpdateFieldCodes> <SearchLine> <FindWhat>-2007</FindWhat> - что заменять <ReplaceWith>-2008</ReplaceWith> - чем заменять <Ranges>7</Ranges> - вероятно кол-во замен (нужно см. в доках) <MatchCase>False</MatchCase> <WholeWord>False</WholeWord> <SearchType>0</SearchType> <Prompt>False</Prompt> <MatchByte>False</MatchByte> <Highlight>0</Highlight> <FieldCodes>True</FieldCodes> <FirstOnly>True</FirstOnly> </SearchLine> <SearchLine> <FindWhat>,2007</FindWhat> <ReplaceWith>,2008</ReplaceWith> <Ranges>7</Ranges> <MatchCase>False</MatchCase> <WholeWord>False</WholeWord> <SearchType>0</SearchType> <Prompt>False</Prompt> <MatchByte>False</MatchByte> <Highlight>0</Highlight> <FieldCodes>True</FieldCodes> <FirstOnly>True</FirstOnly> </SearchLine> </settings> Ком. строкой можно автоматизировать заполнение данного файла задания с последующим запуском его на выполнение. Главное четко знать с какой целью это будет использоваться. Т.к. согласно Вашему заданию: 3 файла и 3 разные замены. Код вообще не нужен. Нужно только 3 разных конфиг-файла. И ярлыки к ним по типу:
Автоматизации конкретно чего Вы планируете добиться?
1
|
|||||||||||
|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
|
| 20.06.2013, 18:07 [ТС] | |
|
Задача вот какая - есть несколько десятков(сотен) файлов (*.docx), размноженных с шаблона - как с помощью клише. У меня в этих файлах на определенных местах должны быть свои названия документов (титульный лист, колонтитулы и т.п. и т.д.). Вот я и хочу в телАх документов прописать эти названия с помощью замен.
0
|
|
|
|
||||||
| 20.06.2013, 19:13 | ||||||
|
А дальше - в чем именно у Вас еще сложности? Думаю, про приведенному примеру Вы можете самостоятельно подставить нужные параметры и запустить команду замен:
0
|
||||||
|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
||
| 20.06.2013, 20:28 [ТС] | ||
|
Непонятно вот что, я должен создать (если у меня 50 файлов) 50 файлов-замен *.wpp, в которых будет указан путь к одному из 50 файлов? Или я что то не понимаю .... Добавлено через 10 минут Если разобраться на примере не 50ти а 3х файлов: есть три файла A.docx B.docx C.docx. В каждом есть текст "0" Мне надо в А заменить "0 на 1" в B "0 на 2" в С "0 на 3". Если я создам один Wpp, в котором укажу первую замену, он во всех файлах заменит 0 на 1
0
|
||
|
|
|||
| 20.06.2013, 23:45 | |||
|
Добавлено через 2 минуты Задача сводится к созданию групп wpp-фалов заданий. Сколько различных видов замен, столько и файлов. Причем 2 и более разные виды замен для 1 группы файлов можно создать и в 1 файле-задании. Каждый файл делает определенную замену. А к каким файлам применять - тут уже жду от Вас ответа.
0
|
|||
|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
||
| 21.06.2013, 00:42 [ТС] | ||
|
Я могу задать папку для замен, где все файлы лежат или список заложить, где все файлы отображены. Но я не могу задать (или не понимаю) как заставить произвести замену в каждом файле на свое значение. В программе нет выбора в каком файле что поменять. Вот пример с тремя файлами с одним текстом "0" нуль: Могу ли я с помощью одного wpp заменить 0 на разные значения из списка(или некого перечисления в самом же wpp) во всех файлах ?
0
|
||
|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
|
| 21.06.2013, 00:44 [ТС] | |
|
Пример
0
|
|
|
|
||||||||||||||||||||||
| 21.06.2013, 02:47 | ||||||||||||||||||||||
|
В примере wpp выше вместо
Если у Вас есть список файлов для каждой группы различных замен. Можно сочинить батник для подстановки этих имен файлов в wpp. А лучше просто подставить список файлов прямо сюда:
А вот этот тег, если не ошибаюсь, специально предназначен для списка файлов:
0
|
||||||||||||||||||||||
|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
|
| 21.06.2013, 07:31 [ТС] | |
|
Проблема не в списке с подстановкой файлов, а в списке с заменой. В примере test1.doc вместо "0" должно быть "1", test2.doc вместо "0" должно быть "2", test3.doc вместо "0" должно быть "3".
Если таких файлов не три а 50, то необходимо провести 50 пусков для каждого файла в отдельности, так как "0", каждый раз, необходимо заменить на различные значения. Поэтому я и спросил как можно сделать так, чтобы программу заставить работать по следующему принципу - взять первый файл и осуществить подстановку значения из списка из первой строки и так далее. Нужен некий стоп в коде, что ли. Test1.doc - заменить 0 на 1. СТОП - следующая пара значений, эти значения из списка исключить. Test2.doc - заменить 0 на 2. Стоп - следующая пара и так далее ... Добавлено через 10 минут Не исключить, а перейти к следующему файлу... Список замен или эти строки: <FindWhat>-2007</FindWhat> - всегда одно значение ("0") <ReplaceWith>-2008</ReplaceWith> - чем заменять "1", "2", "3" - последовательно для каждого файла в отдельности.
0
|
|
|
361 / 38 / 2
Регистрация: 16.03.2013
Сообщений: 196
|
|
| 21.06.2013, 16:31 [ТС] | |
|
Да можно не более одной замены, но First only - true не подходит, это значит в каждом файле заменить первое найденное и дальше не искать, это же совсем другое. Будет просмотрен каждый перечисленный файл и заменено первое значение в каждом. В том и дело что надо скриптом или командами заставить осуществить перебор файлов и подстановку замен в каждый файл свою
0
|
|
| 21.06.2013, 16:31 | |
|
Помогаю со студенческими работами здесь
20
Автоматизация работы магазина Автоматизация работы с сайтами Автоматизация работы ресторана Автоматизация работы Windows Автоматизация работы с флеш Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
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
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|