Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Замена строк из файла строками из файла в файле (http://forum.oszone.net/showthread.php?t=252234)

bcubbs@fb 24-01-2013 16:28 2074034

Замена строк из файла строками из файла в файле
 
Вложений: 1
Наверное точнее тему назвать не возможно было бы:)
Такая задача: из файла А находит нужные строки из файла Б, заменяет их строками из файла Ц и записывает все в новый файл Д

Код:

$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м раньше не работал.

Kazun 24-01-2013 16:46 2074054

Код:

$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 2074081

не появился 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


Kazun 24-01-2013 17:14 2074093

Как запускаете?

bcubbs@fb 24-01-2013 17:19 2074101

запускаю файл new.sh с этим кодом

Kazun 24-01-2013 17:22 2074103

Скрипты в PowerShell должны иметь расширение ps1 и не забыть установить политику выполнения скриптов перед запуском(Set-ExecutionPolicy RemoteSigned).

bcubbs@fb 24-01-2013 17:22 2074105

Да, уже погуглил:) Спасибо за помощь!

Окончательный рабочий код

Код:

$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



Время: 19:17.

Время: 19:17.
© OSzone.net 2001-