|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Cравнения параметров из двух файлов и перенос значений |
|
PowerShell - Cравнения параметров из двух файлов и перенос значений
|
Новый участник Сообщения: 3 |
Есть два файла, порядок строк и их количество не одинаковые, каждая строка начинается с символов $* и заканчивается параметр символом = далее идет значение, задача найти каждый параметр из первого файла во втором, и если он есть, то заменить значением из второго файла, если такого параметра нет во втором файле - перейти к следующему пераметру
Пример строк: Что есть $*abnormalStatusInfo-N08_Ogre_Leader_DefDown-description_k=· Reduces Physical Defense and Magical Defense each by 15% for each stack. $*abnormalStatusInfo-K10_guido_shield-description_k=<font color='#e4f365'>Guido protects himself with magic.</font> $*abnormalStatusInfo-N12_Elite_WhiteFox_Frozen-description_k=<font color='#e4f365'>Your feet are slowly becoming frozen.</font><br>\n· Reduces Movement Speed by 5%\n· Rooted if stacked 5 times Что требуется $*abnormalStatusInfo-N08_Ogre_Leader_DefDown-description_k=· -15% от физ. и маг. защиты при каждом повторении $*abnormalStatusInfo-K10_guido_shield-description_k=· <font color='#e4f365'>Гвидо защищает себя темной магией.</font> $*abnormalStatusInfo-N12_Elite_WhiteFox_Frozen-description_k=· <font color='#e4f365'>Ноги понемногу замерзают.</font><br>·\n-5% от скорости движения\nСвязывание после 5 применения |
|
Отправлено: 14:10, 27-10-2018 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:54, 27-10-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Kazun:
![]() |
|
Отправлено: 15:54, 27-10-2018 | #3 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Спасибо, в итоге такой скрипт вышел, а что сделать чтоб он сам имена файлов брал из папки, количество не большое, но в ручную каждый лениво
$file2 = 'ENG\PetInfo.ENG' $file1 = 'RUS\PetInfo.ENG' $file3 = 'RUS_ENG\PetInfo.ENG' Get-Content $file1 | Foreach {$f2= @{}} { $a,$b = $_.split("=",2) $f2[$a]=$b } Get-Content $file2 | Foreach { $a,$b= $_.split("=",2) if($f2[$a]) { "{0}={1}" -f $a,$f2[$a] } else { $_ } }|set-content $file3 -enc Default |
Последний раз редактировалось ZerG666, 27-10-2018 в 16:54. Отправлено: 16:14, 27-10-2018 | #4 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Get-ChildItem 'ENG\*.ENG' | Foreach { $file2 = $_.FullName $file1 = "C:\RUS\$($_.Name)" $file3 = "C:\RUS_ENG\$($_.Name)" Get-Content $file1 | Foreach {$f2= @{}} { $a,$b = $_.split("=",2) $f2[$a]=$b } Get-Content $file2 | Foreach { $a,$b= $_.split("=",2) if($f2[$a]) { "{0}={1}" -f $a,$f2[$a] } else { $_ } }|set-content $file3 -enc Default } |
|
Отправлено: 22:07, 27-10-2018 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Синтаксис имён и значений параметров реестра | Plum | Хочу все знать | 11 | 02-07-2018 21:52 | |
2010 - Перенос значений из столбца в строку | VanUliK | Microsoft Office (Word, Excel, Outlook и т.д.) | 14 | 22-09-2014 23:02 | |
MySQL - [решено] Перенос значений поля из одной базы в другую | skeletor | Программирование и базы данных | 3 | 21-10-2011 10:19 | |
Установка - перенос файлов и параметров при переходе на Win7 | OlegDS478 | Microsoft Windows 7 | 4 | 05-03-2011 16:16 | |
Перенос файлов и параметров | sc0rp | Microsoft Windows 2000/XP | 4 | 21-03-2009 00:33 |
|