» »

Powershell primerjaj in kopiraj

Powershell primerjaj in kopiraj

Blisk ::

Kako bi z powershell naredil, da mi primerja dve mapi in kopira v tretjo iz prve tisto kar ni v drugi.
na naprimer v mapi A imam
ponedeljek.txt
torek.txt
sreda.txt

v mapi B imam
ponedeljek.zip
torek.zip

Rabil bi torej da mi skripta skopira iz mape A v mapo C sreda.txt
Imena v mapah so ista samo končnice so različne.
Torej, vse datoteke, ki so v mapi A in niso v mapi B mi mora skopirati v mapo C.

Poldi112 ::

In kaj si naštudiral do sedaj, ali bi zgolj rad, da ti kdo reši domačo nalogo?
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.

Blisk ::

tole
$fileList = get-childitem foldera | ?{$_.name -notin $(get-childitem folderb).name } 

$filelist.fullname | copy-item  folderc


pa ne dela

Poldi112 ::

cd foldera
$fileList|Foreach-Object{copy-item -path $_.Name -destination "..\folderc"}

polepšal jo boš pa sam. :)
pa rabil boš še logiko, da ti ignorira končnice.
Where all think alike, no one thinks very much.
Walter Lippmann, leta 1922, o predpogoju za demokracijo.

Blisk ::

Tole mi res nič ne pomaga, ker dejansko kopira vse, kar je narobe.
mapa A ima datoteke s končnico txt, mapa B ima datoteke s končnico zip

MrStein ::

Če še nisi rešil:
(get-childitem .\foldera) | ?{$_.BaseName -notin $(get-childitem .\folderb).BaseName } | copy-item  -Destination .\folderc


Preverjeno dela.

(klikni na "citiraj", če ne vidiš cele vrstice)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Zgodovina sprememb…

  • spremenil: MrStein ()

Blisk ::

MrStein je izjavil:

Če še nisi rešil:
(get-childitem .\foldera) | ?{$_.BaseName -notin $(get-childitem .\folderb).BaseName } | copy-item -Destination .\folderc


Preverjeno dela.

(klikni na "citiraj", če ne vidiš cele vrstice)

Hvala sem rešil mi je nekdo že pomagal.

$patha = "D:\sql_backup\"
$pathb = "G:\zipano_arhiv\"
$pathc = "G:\tmp\"

$fileList = Get-ChildItem $patha, $pathb

$uniqueFiles = $fileList | Group-Object -Property BaseName | Where-Object {$_.Count -eq 1}

foreach ($file in $uniqueFiles.Group.Name) {
Write-Output "Copy [$file] to $pathc"
Copy-Item -Path "$patha$file" -Destination $pathc -Exclude '*TEST*.bak'
}

Zgodovina sprememb…

  • spremenil: Blisk ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Batch skripta za brisanje map, starejših od X dni

Oddelek: Operacijski sistemi
5749 (684) krneki0001
»

Pretvorba skripte iz Powershell v Bash

Oddelek: Operacijski sistemi
71304 (1110) c3p0
»

Bash izpis datotek

Oddelek: Programiranje
111395 (1217) BigWhale
»

Ime Priimek v Ime_Priimek (strani: 1 2 )

Oddelek: Programska oprema
554734 (3694) Doman
»

Program ki extract-a filename in ga prilepi v tabelo...

Oddelek: Programska oprema
51035 (987) 2tiLen

Več podobnih tem