Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Opel Astra K

Probleme sistem audio mașina

Radio care se incinge

problema -amplificator cu tranzis...
 Retragere bani din cont inainte d...

Plata cu cardul si bacsisul

Primire bani din Danemarca prin N...

Alerta securitate Fedora Linux 40...
 Problemuțe sistem audio ma&#...

Renovare balcon

installation has failed there was...

Montura polara.....
 Sfat inchiriere locuinta unei per...

Sursa stereo -> amplif mono

Dan Blondu vs. Marian Piciu

Side - Antalya
 

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: 748
  • Î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,269
  • Î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: 748
  • Î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

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

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