Per Batch Verzeichnis A mit B vergleichen und Unterschiede in C kopieren
Hallo,
ich versuche grade verzeifelt, per Batch ein Problem von mir zu lösen und automatisieren, ohne zusätzliche Software nutzen zu müssen.
Ich habe zwei Verzeichnisse, A ist das Soll Verzeichnis, B das Ist-Verzeichnis.
Alle Dateien aus A, welche in B fehlen oder sich von der Version in B unterscheiden, benötige ich in einem dritten Verzeichnis C.
Mein aktueller Lösungsansatz beinhaltet 2 Schritte:
Ich kopiere alles von A nach C, und lösche dann alles was identisch in B ist raus.
Dazu habe ich folgendes Script mit Hilfe von Google zusammengebastelt:
Bei diesem Script werden mir aber alle Dateien welche in B und C den gleichen Namen haben gelöscht. Ich bekomme es nicht hin, dass auch eine Änderung des Inhalts geprüft wird, hab schon mit fc getestet, aber keinen funktionierenden Code hinbekommen.
Bin neu hier, und auch relativ neu in der Batch-Programmierung, hoffe es kann mir jemand bei meinem Problem helfen, oder vielleicht einen anderen Lösungsansatz bieten.
Vielen Dank
ich versuche grade verzeifelt, per Batch ein Problem von mir zu lösen und automatisieren, ohne zusätzliche Software nutzen zu müssen.
Ich habe zwei Verzeichnisse, A ist das Soll Verzeichnis, B das Ist-Verzeichnis.
Alle Dateien aus A, welche in B fehlen oder sich von der Version in B unterscheiden, benötige ich in einem dritten Verzeichnis C.
Mein aktueller Lösungsansatz beinhaltet 2 Schritte:
Ich kopiere alles von A nach C, und lösche dann alles was identisch in B ist raus.
Dazu habe ich folgendes Script mit Hilfe von Google zusammengebastelt:
robocopy C:\TEST\A C:\TEST\C /E
for /R C:\TEST\B\ %%I in (*.*) do (
for /R C:\TEST\C\ %%J in (*.*) do (
IF .%%~nI%%~xI.==.%%~nJ%%~xJ. (DEL "%%J")))
Bei diesem Script werden mir aber alle Dateien welche in B und C den gleichen Namen haben gelöscht. Ich bekomme es nicht hin, dass auch eine Änderung des Inhalts geprüft wird, hab schon mit fc getestet, aber keinen funktionierenden Code hinbekommen.
Bin neu hier, und auch relativ neu in der Batch-Programmierung, hoffe es kann mir jemand bei meinem Problem helfen, oder vielleicht einen anderen Lösungsansatz bieten.
Vielen Dank
Please also mark the comments that contributed to the solution of the article
Content-Key: 379134
Url: https://administrator.de/contentid/379134
Printed on: April 19, 2024 at 23:04 o'clock
3 Comments
Latest comment
Hier mit Powershell:
$folderA = 'D:\FolderA'
$folderB = 'D:\FolderB'
$folderC = 'D:\FolderC'
compare (gci $folderA -File | Get-FileHash -Algorithm SHA256) (gci $folderB -File | Get-FileHash -Algorithm SHA256) -Property Hash -PassThru | ?{$_.SideIndicator -eq '<='} | copy-item -Destination $folderC -Force