我已經給出了比較2個文件夾FolderA和FolderB的任務,並且注意到A中存在但不存在於B中的任何文件。比較2個文件夾並將路徑保存到變量中?
對不起沒有完全解釋我自己。如果我解釋我們的情況,這可能會有所幫助。一家公司的銷售員工已經離開了我們公司去參加競爭對手。他在他的工作筆記本電腦本地硬盤驅動器上存檔。我們試圖確定他的計算機上是否存在任何文件,但不在共享網絡文件夾中。
我需要產生任何文件(及其路徑)的列表,這些文件存在於他的筆記本電腦上,但不在共享網絡位置。筆記本電腦本地硬盤驅動器和共享網絡位置之間的文件結構不同。什麼是最好的方式去做這件事?
$folderAcontent = "C:\temp\test1"
$folderBcontent = "C:\temp\test2"
$FolderAContents = Get-ChildItem $folderAcontent -Recurse | where-object {!$_.PSIsContainer}
$FolderBContents = Get-ChildItem $folderBcontent -Recurse | where-object {!$_.PSIsContainer}
$FolderList = Compare-Object -ReferenceObject ($FolderAContents) -DifferenceObject ($FolderBContents) -Property name
$FolderList | fl *
只是比較文件名(例如test.txt)還是文件內容?文件是否具有唯一的文件名,或者它們是否存儲在名稱相同的子文件夾中?我們怎麼知道他們是否匹配? –
抱歉沒有完全解釋自己。我已經用更多的信息更新了這個問題。只需要文件名並考慮它的大小,不需要比較內容,除非這樣做更容易。它唯一的文件名我有興趣比較兩組文件夾之間的位置有不同的結構。如果文件名和大小相同,它們是匹配的。 – resolver101
我現在更改了我的答案來說明文件大小。我的舊和其他答案只比較文件名。 –