Показать полную графическую версию : [решено] Замена строк из файла строками из файла в файле
bcubbs@fb
24-01-2013, 16:28
Наверное точнее тему назвать не возможно было бы:)
Такая задача: из файла А находит нужные строки из файла Б, заменяет их строками из файла Ц и записывает все в новый файл Д
$Orig = Get-Content -Path C:\Users\Home\Desktop\orig.txt
$Copy = Get-Content -Path C:\Users\Home\Desktop\copy.txt
$Js = Get-Content -Path C:\Users\Home\Desktop\1.txt
$Js -replace $Orig, $Copy | Set-Content -Path C:\Users\Home\Desktop\out.txt
Не создает файл out.txt в указанном месте....
в чем может быть проблема? С powershelloм раньше не работал.
$variable = "~0"
$Orig = Get-Content -Path C:\Users\Home\Desktop\orig.txt
$Copy = Get-Content -Path C:\Users\Home\Desktop\copy.txt -Encoding UTF8
$Js = Get-Content -Path C:\Users\Home\Desktop\1.txt
$Orig = $Orig -replace "::varible::",$variable
$Copy = $Copy -replace "::: variable:::",$variable
for($i=0;$i -le $orig.count;$i++)
{
$js=$js -replace $orig[$i],$copy[$i]
}
$js | Out-File Result.txt
bcubbs@fb
24-01-2013, 17:02
не появился Result.txt ...
даже если прописать Оut-File -Path C:\Users\Home\Desktop\Result.txt
подправил variable
$variable = "~0" $Orig = Get-Content -Path C:\Users\Home\Desktop\orig.txt
$Copy = Get-Content -Path C:\Users\Home\Desktop\copy.txt -Encoding UTF8
$Js = Get-Content -Path C:\Users\Home\Desktop\1.txt
$Orig = $Orig -replace "::variable::",$variable
$Copy = $Copy -replace ":::variable:::",$variable
for($i=0;$i -le $Orig.count;$i++) {
$Js=$Js -replace $Orig[$i],$Copy[$i]
}
$Js | Out-File -Path C:\Users\Home\Desktop\Result.txt
bcubbs@fb
24-01-2013, 17:19
запускаю файл new.sh с этим кодом
Скрипты в PowerShell должны иметь расширение ps1 и не забыть установить политику выполнения скриптов перед запуском(Set-ExecutionPolicy RemoteSigned).
bcubbs@fb
24-01-2013, 17:22
Да, уже погуглил:) Спасибо за помощь!
Окончательный рабочий код
$variable = "~0"
$orig = Get-Content -Path C:\Users\Home\Desktop\orig.txt
$copy = Get-Content -Path C:\Users\Home\Desktop\copy.txt -Encoding UTF8
$js = Get-Content -Path C:\Users\Home\Desktop\1.txt
$orig = $orig -replace "::variable::",$variable
$copy = $copy -replace ":::variable:::",$variable
for($i=0;$i -le $orig.count;$i++)
{
$js=$js -replace $orig[$i],$copy[$i]
}
$js | Out-File C:\Users\Home\Desktop\Result.txt
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.