Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Замена строки в файлах

Ответить
Настройки темы
PowerShell - [решено] Замена строки в файлах

Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Имеется куча файлов *.tab в папке, нужно в каждом файле заменить 11-ю строку
CoordSys NonEarth Units "m"
на
CoordSys Earth Projection 8, 1001, "m", 61.0333333333002, 0, 1, 2300000, -5509414.7

Отправлено: 23:36, 14-05-2017

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата al-1k:
Имеется куча файлов *.tab в папке »
Несколько образцов из этой кучи упакуйте в архив и приложите к сообщению, либо выложите на RGhost или Яндекс.Диск.

Отправлено: 07:02, 15-05-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата Iska:
Несколько образцов из этой кучи »
Он раз в пол-года задаёт этот вопрос на разных форумах, а потом исчезает. Не стоит ждать ответа.

Да и без образцов вроде бы всё понятно - что вы хотите там увидеть?

Отправлено: 12:17, 15-05-2017 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Busla:
Да и без образцов вроде бы всё понятно - что вы хотите там увидеть? »
Я лично хочу увидеть:
  • используемую кодировку;
  • наличие BOM;
  • тип конца строк;
  • что приведённая строка именно одиннадцатая и именно с таким содержимым содержится во всех примерах.
Наконец, это избавит отвечающего от необходимости самолично изготавливать примеры файлов для проверки работоспособности кода.

Цитата Busla:
Он раз в пол-года задаёт этот вопрос на разных форумах, а потом исчезает. »
Вот токмо там фигурирует двенадцатая строка .
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:44, 15-05-2017 | #4


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Busla:
Он раз в пол-года задаёт этот вопрос на разных форумах, а потом исчезает. Не стоит ждать ответа. »
Ну а чего там делать если ответа не дождался

Цитата Iska:
упакуйте в архив »
https://drive.google.com/open?id=0B1...nFNLXRrc2h1aTg

Отправлено: 19:29, 15-05-2017 | #5


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#File.WriteAllText - This method uses UTF-8 encoding without a Byte-Order Mark (BOM), so using the GetPreamble method will return an empty byte array. 
$o = 'CoordSys NonEarth Units "m"'
$n = 'CoordSys Earth Projection 8, 1001, "m", 61.0333333333002, 0, 1, 2300000, -5509414.7'
dir C:\*.tab | Foreach {
	$f = Get-Content $_.FullName
	if($f[11].Contains($o)) {
		$f[11] = $n
		[IO.File]::WriteAllLines($_.FullName, $f)
	}
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:47, 15-05-2017 | #6


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Благодарность!!

Отправлено: 19:57, 15-05-2017 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Kazun:
if($f[11].Contains($o)) { »
Почему не сразу на равенство?
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:41, 15-05-2017 | #8


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


Подумалось о доп. символах с начала и в конце строки, но равенство будет более точно.

Отправлено: 23:21, 15-05-2017 | #9


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Kazun:
Подумалось о доп. символах с начала и в конце строки »
Спасибо, ясно. Я, в принципе, так и предполагал.

Отправлено: 07:51, 16-05-2017 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Замена строки в файлах

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск и замена строки в txt файлах по содержанию этой строки. sayyad Скриптовые языки администрирования Windows 1 06-12-2015 13:20
CMD/BAT - замена текста в нескольких файлах Alexander_88 Скриптовые языки администрирования Windows 7 03-09-2014 18:33
VBS/WSH/JS - [решено] Поиск строки по маске в txt файле и замена всей строки из InputBox ultrarare Скриптовые языки администрирования Windows 11 03-07-2013 14:37
CMD/BAT - Удалить определенные строки в текстовых файлах Seryoga204 Скриптовые языки администрирования Windows 0 05-08-2012 14:53
Пакетная замена в html-файлах y3ep Программное обеспечение Windows 7 11-06-2004 08:06




 
Переход