Головна » Файли » Готові скрипти |
19.01.2019, 14:00 | |
Інколи виникає необхідність змінити якесь значення (наприклад, назву землевласника, назву суміжного землекористувача, назву вулиці тощо) зразу у багатьох файлах. Цей скрипт зробить це за вас. Після запуску появиться вікно, де треба ввести текст, який потрібно замінити у файлах Потім текст, на який треба замінити І виберіть папку, де знаходяться обмінники В результаті отримаємо повідомлення про результат: І в результаті у папці з обмінниками буде створена нова папка Оброблені файли, де будуть збережені тільки ті файли, у яких було знайдено та замінено відповідне значення. При цьому зверніть увагу, що заміну скриптом можна проводити тільки по значеннях, які заключені в один спільний кінцевий тег. Якщо це, наприклад, назва землевласника (ТОВ "Зелена балка"), то можна так і вводити. Але коли це ПІБ, то спершу треба замінити прізвище, потім ім'я, а потім по батькові. Оскільки вони у файлі XML у різних тегах: А ось власне і сам скрипт:
Підказка: якщо у ваших файлах заповнено усе по-різному, або взагалі не заповнено, а ви хочете заповнити усе зразу однаковим значенням, то тоді при заміні вказуйте не значення, а сам тег. Наприклад: </ProprietorCode> замінити на: 22</ProprietorCode> При цьому важливо, щоб теги (чи декілька тегів в купі) були оригінальні, тобто, щоб більше ніде не повторювалися по тексту. | |
Переглядів: 2536 | Завантажень: 0 | Коментарі: 16 | |
Всього коментарів: 16 | |
0
Спам
0
Спам
Відповідь: Вам підійде щось типу цього
Код $Ext=.xml $Re=0000 $InF=@Dialog.SelectFolder Вкажіть папку з файлами @If $InF= @Break @Text.FolderList *$Ext $InF $C=@Text.Count @If $C=0 @Break В папці "$InF" відсутні файли $Ext $OutF=$InF\Оброблені файли @CreateFolder $OutF @CleanFolder $OutF $I=0 %Start $I=$I+1 @If $I>$C then @Break Заповнено $I файлів $InF=@Text.Line[$I] @FileOpen $InF @Map.DeselectAll @Map.SelectLayer id70005 @Map.Selected.ChangeParameter ID7000513 $Re $InF=@Map.ClearShortFilename @Map.SaveToFile $OutF\$InF$Ext @CloseMap @Goto %Start
0
Спам
| |