Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $A = Get-ChildItem -Recurse -path "C:reposDevProjectsBatCurrentVersionRepoCloneTemp" -filter "*.config"
- $B = Get-ChildItem -Recurse -path "C:reposDevProjectsBatUpgradeVersionRepoCloneTemp" -filter "*.config"
- $C = Compare-Object $A $B -Property ('Name', 'Length') -PassThru | Where-Object {$_.FullName -eq $_.FullName} | ForEach-Object
- {
- Compare-Object (Get-Content FileA)(Get-Content FileB) #I know this doesn't work
- }$C
- $md5 = new-object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
- $hash = [System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($file)))
- $A = Get-ChildItem -Recurse -path "C:reposDevProjectsBatCurrentVersionRepoCloneTemp" -filter "*.config"
- $B = Get-ChildItem -Recurse -path "C:reposDevProjectsBatUpgradeVersionRepoCloneTemp" -filter "*.config"
- $A | %{$_ | Add-Member "MD5" ([System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($_))))}
- $B | %{$_ | Add-Member "MD5" ([System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($_))))}
- $C = Compare-Object $A $B -Property ('Name', 'MD5') - Passthrough | Group Directory
- $Output = @()
- ForEach($File in $C[1].Group){
- $OldData = GC $File
- $C[0].Group | ?{$_.Name -eq $File.Name} | %{
- $NewData = GC $_
- $UpdatedLines = $NewData | ?{$OldData -inotcontains $_}
- $OldLines = $OldData | ?{$NewData -inotcontains $_}
- $Output += New-Object PSObject -Property @{
- UpdatedFile=$_.FullName
- OriginalFile=$File.FullName
- Changes=$UpdatedLines
- Removed=$OldLines
- }
- }
- }
- Get-Date | Out-File "C:reposDevProjectsBatUpgradeVersionRepoCloneTempChangeLog.txt"
- $Output|%{$_|FT OriginalFile,UpdatedFile; "New/Changed Lines"; "-----------------"; $_.Changes; " "; "Old/Removed Lines"; "-----------------"; $_.Removed} | Out-File "C:reposDevProjectsBatUpgradeVersionRepoCloneTempChangeLog.txt" -Append
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement