Сравните два текстовых файла и внесите изменения, чтобы они были идентичны - PullRequest
0 голосов
/ 16 июня 2011

У меня есть два файла, один старый, где «некоторые» данные из этого файла должны быть перезаписаны во второй файл. Файлы на самом деле .reg файлы. В этих файлах определено около 30 ключей, но требуется обновить только около 10 ключей. Пример двух файлов показан ниже.

файл (старый) .reg


Редактор реестра Windows, версия 5.00

[HKEY_CURRENT_USER \ КОЕ \ ПЕРМЬ \ PhoneNumber] @ = "1234567"

[HKEY_CURRENT_USER \ КОЕ \ ПЕРМЬ \ ClientCode] @ = "B01"

[HKEY_CURRENT_USER \ SOFTWARE \ MICROSOFT ....] «Имя учетной записи» = «бла, бла, бла.com» "ServerName" = "PCCCCP"

Etc. И т.д.

файл (новый) .reg


Редактор реестра Windows, версия 5.00

[HKEY_CURRENT_USER \ КОЕ \ ПЕРМЬ \ PhoneNumber] @ = "XXXXXXX"

[HKEY_CURRENT_USER \ КОЕ \ ПЕРМЬ \ ClientCode] @ = "XXX"

[HKEY_CURRENT_USER \ SOFTWARE \ MICROSOFT ....] «Имя учетной записи» = «бла, бла, бла.com» "ServerName" = "XXXXXX"

Etc. И т.д.


Кто-нибудь может помочь? Это проще с пакетным или с VBScript? Я учусь и сейчас, и, возможно, этот запрос у меня над головой. Все, что я ищу, это фрагменты кода.

Заранее спасибо !!!!

1 Ответ

0 голосов
/ 16 июня 2011
FOR /F "USEBACKQ tokens=*" %%F IN (`type old.reg` ^| FIND /V /I "string you wish to omit"`) DO (ECHO %%F>>new.reg)

Для каждой дополнительной строки добавьте еще ^ | НАЙТИ / V / I "строка, которую вы хотите опустить" как таковая:

(`type old.reg` ^| FIND /V /I "string you wish to omit" ^| FIND /V /I "string you wish to omit" ^| FIND /V /I "string you wish to omit"`)

Тогда просто выводите ваши новые строки как вывод в этот файл. Раньше я не перепутал файлы .reg, поэтому не уверен, что они должны быть в определенном порядке? Если это так, то вам не нравится пакетный скрипт = P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...