Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - [решено] Поиск и замена

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


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

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


Добрый день.
Имеется тектовый файл, размером более 5000 строк. Вида:

pl (IdPl,X,Y,TitleLine,Name,Description,idRowMetric,idPlMetric,Person) Values (26916,1000,3750,'','','11',null,NULL,1)
pla (IdPl,EncLevel,IdSection) Values (26916,2,21)
pla(IdPl,EncLevel,IdSection) Values (26916,1,1065)

Pl (IdPl,X,Y,TitleLine,Name,Description,idRowMetric,idPlMetric,Person) Values (26917,2900,3750,'','','11',null,NULL,1)
Pla(IdPl,EncLevel,IdSection) Values (26917,2,21)
Pla (IdPl,EncLevel,IdSection) Values (26917,1,1065)

Pl (IdPl,X,Y,TitleLine,Name,Description,idRowMetric,idPlMetric,Person) Values (26918,1050,3750,'','','11',null,NULL,1)
Pla (IdPl,EncLevel,IdSection) Values (26918,2,21)
Pla (IdPl,EncLevel,IdSection) Values (26918,1,1065)

Pl (IdPl,X,Y,TitleLine,Name,Description,idRowMetric,idPlMetric,Person) Values (26919,1100,3750,'','','11',null,NULL,1)
Pla (IdPl,EncLevel,IdSection) Values (26919,2,21)
Pla (IdPl,EncLevel,IdSection) Values (26919,1,1065)


Задача состоит в том, что-бы заменить все Выделенные жирным цветом значения(они меняются +1 каждую четвертую строчку), на отрицательные цифры по порядку: 26916 == -1 , 26917 == -2 , 26918 == -3 ...

Отправлено: 10:44, 18-03-2016

 

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


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

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


PS C:\Documents and Settings\Администратор> $a.matches.value[0]..$a.matches.value[-1] | foreach { $n=0 } { $b = $b -repl
ace $_, --$n }
Не удается индексировать в массив NULL.
строка:1 знак:18
+ $a.matches.value[ <<<< 0]..$a.matches.value[-1] | foreach { $n=0 } { $b = $b -replace $_, --$n }
+ CategoryInfo : InvalidOperation: (0:Int32) [], RuntimeException
+ FullyQualifiedErrorId : NullArray

Отправлено: 10:44, 21-03-2016 | #11



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

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


Ветеран


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

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


user689, У меня все отработало. И если запускать, как скрипт и если интерактивно -- в консоли:



Попробуйте обращаться к индексу последнего элемента массива через свойство count, как показано на скриншоте:
Код: Выделить весь код
$a.matches.value.count-1
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:52, 21-03-2016 | #12


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


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

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


на сервере версия 2.0 - не сработало, в 4.0 - все хорошо.
Спасибо!

Отправлено: 14:33, 21-03-2016 | #13



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Поиск и замена файлов. Drotik Скриптовые языки администрирования Windows 2 24-04-2014 18:07
Любой язык - Поиск и замена текста firstarey Скриптовые языки администрирования Windows 2 09-04-2013 08:44
CMD/BAT - [решено] Поиск, остановка процесса, поиск и замена файла на разных дисках Gawr33 Скриптовые языки администрирования Windows 11 23-04-2011 23:09
CMD/BAT - [решено] Поиск, остановка процесса, поиск и замена файлов на разных дисках 4zz Скриптовые языки администрирования Windows 2 21-02-2011 16:07
Разное - поиск и замена ansslecter Программное обеспечение Windows 1 06-07-2010 16:03




 
Переход