Size: a a a

2021 November 04

АЩ

Андрей ℕ∅ℝↁ Щеглов... in Powershell Rus
а как регуляркой ? там a не обязательно первая. но точно первое совпадение после селектора [test]
источник

PG

Pavel Gassan in Powershell Rus
источник

АЩ

Андрей ℕ∅ℝↁ Щеглов... in Powershell Rus
Читаю как раз это, но у меня ( и у клиентов ) нету Get-IniContent
источник

АЩ

Андрей ℕ∅ℝↁ Щеглов... in Powershell Rus
Get-IniContent : Имя "Get-IniContent" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильно
сть пути, после чего повторите попытку.
строка:1 знак:1
источник

PG

Pavel Gassan in Powershell Rus
там же модуль ставить надо
источник

PG

Pavel Gassan in Powershell Rus
источник

PG

Pavel Gassan in Powershell Rus
как читаешь? по диагонали?
источник

VB

Vector BCO in Powershell Rus
источник

VB

Vector BCO in Powershell Rus
функций вагон
источник

АЩ

Андрей ℕ∅ℝↁ Щеглов... in Powershell Rus
Ну я к тому, что установка модуля мне не подходит, тк как я отдаю этот скрипт. Нужно встроенными средствами
источник

АЩ

Андрей ℕ∅ℝↁ Щеглов... in Powershell Rus
а. это просто функция, которую можно прописать прям в скрипте. спс
источник

VB

Vector BCO in Powershell Rus
ну так скопируй из модуля 2 нужные функции в свой скрипт
источник

VB

Vector BCO in Powershell Rus
или напиши свою
источник

АЩ

Андрей ℕ∅ℝↁ Щеглов... in Powershell Rus
Да, спасибо. Теперь бы понять, как изменять значение с помощью этой функции )
источник

AS

Andrey Soldatov in Powershell Rus
$file="C:\1\test.ini"
# Находим номер строки нужной секции
$node = Get-Content $file | Select-String "\[test-12]"
$start=$node.LineNumber+1
# Находим номер строки следующей секции
$nextnode = Get-Content $file | Select -Skip $start | Select-String "\["
$end = $nextnode[0].linenumber+$start
# Ищем между заданными строками номер строки того, что необходимо заменить
$LineNumber=Select-String -Pattern "^a=" -Path $file | `
Where {$_.linenumber -ge $start -and $_.linenumber -lt $end} | `
Select-Object -ExpandProperty LineNumber
# Читаем файл в массив
$c=Get-Content $file
# Переопределяем массив
$c=$c[0..($LineNumber-2)],"a=2",$c[$LineNumber..$c.Length]
# Сохраняем в файл
$c | Out-File C:\1\test_new.ini -Encoding default
источник

VB

Vector BCO in Powershell Rus
$tmpInputFile = New-TemporaryFile
$tmpOutputFile = New-TemporaryFile
"
[test1]
a=1
b=2
[test2]
a=3
b=4
" | Out-File $tmpInputFile
$output = (Get-Content $tmpInputFile  -Raw) -split '(?=\[[^\]]+\])'  | foreach {
  if ($_ -match 'test2'){
     $tmp = $_
     $tmp = $tmp -replace 'a=\d+','a=123123'
     $tmp = $tmp -replace 'b=\d+','b=0000000'
     $tmp
  }
  else {$_}
}
$output = $output -join ''
$output | Out-File $tmpOutputFile
источник

S

ShS in Powershell Rus
PS > $text = @"
>> [test-12]
>> a=1
>> b=2
>>
>> [test-13]
>> a=0
>> b=2
>>
>> [test-14]
>> a=4
>> b=5
>> "@
>>

PS > $text
[test-12]
a=1
b=2
[test-13]
a=0
b=2
[test-14]
a=4
b=5

PS > $text -replace "(?ms)(?<=^\[test-13\]\s+a=)\d",2
[test-12]
a=1
b=2
[test-13]
a=2
b=2
[test-14]
a=4
b=5
источник

АЩ

Андрей ℕ∅ℝↁ Щеглов... in Powershell Rus
Спасибо, а если у меня нету следующей селекции ? Я добавляю в конец конфига (точнее оно добавляется через Add-VpnConnection -Name $VPNServer -ServerAddress $VPNServer -AuthenticationMethod Eap -RememberCredential -SplitTunneling -TunnelType Ikev2 -PassThru в конфиг $env:APPDATA\Microsoft\Network\Connections\Pbk\rasphone.pbk)
источник

АЩ

Андрей ℕ∅ℝↁ Щеглов... in Powershell Rus
Спасибо за регулярки, буду пробовать
источник

АЩ

Андрей ℕ∅ℝↁ Щеглов... in Powershell Rus
выглядит кратко. Ещё бы понимать что это ) и вроде то что нужно, оно меняет только первое найденное значение ?
источник