Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

PowerShell - Cum copiez niste linii dintr-un fisier un altul

- - - - -
  • Please log in to reply
3 replies to this topic

#1
me_suzy

me_suzy

    Member

  • Grup: Members
  • Posts: 747
  • Înscris: 29.04.2007
salut prieteni, am doua foldere. Folder1 si Folder2. In fiecare folder sunt acelasi numar de fisiere cu aceleasi denumiri, numai continutul difera. Vreau sa copiez cu PowerShell , din fisierele din Folder1 toate liniile cuprinse intre tagurile <!--START --> si <!--FINNISH1 -->  in fisierele din Folder2, peste cuvantul "PUT-HERE-THE-CODE". Veti vedea imaginea de mai jos si veti intelege mai bine.

Am facut un cod in PoweShell, dar ceva gresesc, caci nu-mi merge. Ma poate ajuta cineva care se pricepe cat de cat ?


$src = Get-ChildItem -Path "c:\Folder1" -Filter "*.html";
$destFld = "c:\Folder2";
$src | % { Process {

If ( Test-Path "$destFld\$($_.Name)" ) {
Clear-Variable -Name ("a","b","x","y","z");
$z = Get-Content $_.FullName -Raw;
$y = "`t`t<!-- $((($z -split "<!--")[0]).Trim())`r`n";
$x = "`t`t<!--FINNISH1 -->";
$a = Get-Content "$destFld\$($_.Name)" -Raw;
  $b = "PUT-HERE-THE-CODE";
  $b = "$(($a -split "<!--")[0].Trim())`r`n";
$y | Out-File "$destFld\$($_.Name)" -Append;
$x | Out-File "$destFld\$($_.Name)" -Append;
$b | Out-File "$destFld\$($_.Name)" -Append;   
}
}};


[ https://snipboard.io/uzFPMa.jpg - Pentru incarcare in pagina (embed) Click aici ]

Edited by me_suzy, 13 February 2021 - 12:40.


#2
pelikanu

pelikanu

    tread carefully

  • Grup: Senior Members
  • Posts: 5,089
  • Înscris: 19.08.2005
Nu mai bine muti cu totul fisierele din locatia 1 in locatia 2?

#3
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Cum pare mai mult o problema de programare decat de scripting, as profita de faptul ca Powershell are acces la biblioteci .NET si as scrie cod similar cu cel ce l-as fi scris in C#.

#4
me_suzy

me_suzy

    Member

  • Grup: Members
  • Posts: 747
  • Înscris: 29.04.2007
am gasit raspunsul aici:

https://docs.microso...to-a-singl.html

$sourceFiles = Get-ChildItem 'c:\Folder1' 
$destinationFolder = 'c:\Folder2'
foreach ($file in $sourceFiles) {
$sourceContent = Get-Content $file.FullName -Raw
$contentToInsert = [regex]::match($sourceContent,"(?ms)\<!--START--\>(.+)\<!--FINNISH --\>").value
$destinationContent = Get-Content $destinationFolder\$($file.Name) -Raw
$destinationContent = $destinationContent -replace 'PUT-HERE-THE-CODE',$contentToInsert
Set-Content -Path $destinationFolder\$($file.Name) -Value $destinationContent -Encoding UTF8
} #end foreach file


Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate