Сравните каталоги в Windows

Я управляю целым набором файлов и размещаю их в другой каталог. Что я должен сделать, теперь, узнают, какие файлы находятся в исходном каталоге, которые не находятся в выходном каталоге (проблема обрабатывается дюжиной компьютеров). Есть ли какой-либо сценарий, я могу работать на Windows, который отобразит это?

5
задан 29.01.2010, 05:35

5 ответов

Используйте WinDiff. Это идет с Visual Studio и Платформой SDK и может быть загружено отдельно. Это должно главным образом сравнить файлы, но это также позволяет Вам рекурсивно сравнивать папки.

7
ответ дан 07.12.2019, 17:03

В PowerShell:

$d1 = get-childitem -path $dir1 -recurse 
$d2 = get-childitem -path $dir2 -recurse 
compare-object $d1 $d2 
2
ответ дан 07.12.2019, 17:03

Если Вы ищете ручной процесс и установили Visual Studio, то можно использовать windiff.exe для показа различий.

1
ответ дан 07.12.2019, 17:03

Я склонен использовать PathSync

1
ответ дан 07.12.2019, 17:03

можно попробовать этот vbscript, никакая потребность загрузить любой материал.

Set objFS = CreateObject("Scripting.FileSystemObject")
Set d = CreateObject("Scripting.Dictionary")
Set objArgs = WScript.Arguments
strFolderA= objArgs(0)
strFolderB = objArgs(1)
Set objFolder = objFS.GetFolder(strFolderA)
Set objFolder1 = objFS.GetFolder(strFolderB)
For Each strFile In objFolder.Files
    strFileName = strFile.Name
    strFilePath = strFile.Path
    'collect all files and their full paths.
    d.Add strFileName, strFilePath
Next

For Each strFile In objFolder1.Files
    strFileName = strFile.Name
    strFilePath = strFile.Path
    If Not d.Exists(strFileName) Then
        WScript.Echo "Not found in : " & strFolderA & "->" & strFilePath
    End If 
Next

вывод

C:\test>dir /B c:\tmp
file
test.bat

C:\test>dir /B c:\tmp1
test.bat

C:\test>cscript //nologo test.vbs c:\tmp1 c:\tmp
Not found in : c:\tmp1->C:\tmp\file
0
ответ дан 07.12.2019, 17:03

Теги

Похожие вопросы