Пробуйте:
читать дальше »
Код:

function GetMD5Hash([System.String]$sFile) {
$oHashAlgorithm = [Security.Cryptography.HashAlgorithm]::Create("MD5")
$oStreamReader = ([System.IO.StreamReader]$sFile).BaseStream
-join ($oHashAlgorithm.ComputeHash($oStreamReader) | ForEach-Object -Process { "{0:x2}" -f $_ })
$oStreamReader.Close()
}
$sRootPath = "E:\Песочница\0328"
$sMD5ListPath = "E:\Песочница\0336\MD5 List.txt"
$sExcludeFiles = "E:\Песочница\0336\ExcludeFiles.txt"
$sExcludeFolders = "E:\Песочница\0336\ExcludeFolders.txt"
$cExcludeFiles = @(Get-Content -Path $sExcludeFiles -Encoding UTF8)
$cExcludeFolders = @(Get-Content -Path $sExcludeFolders -Encoding UTF8)
$cList = Get-ChildItem -Path $sRootPath -Recurse -Force |`
Where-Object -FilterScript { -not $_.PSIsContainer -and $cExcludeFiles -notcontains $_.Name }
foreach($elem in $cExcludeFolders) {
$cList = $cList | Where-Object -FilterScript { -not $_.FullName.StartsWith("$sRootPath\$elem") }
}
"; Generated on $(Get-Date)", "; Total files: $($cList.Length)", ( $cList | ForEach-Object -Process {
"$(GetMD5Hash $_.FullName) $($_.FullName.Substring($sRootPath.Length + 1))"
} ) | Out-File -FilePath $sMD5ListPath -Encoding UTF8
Цитата DjBoBo:
Касаемо же путей, я просто подумал если в скрипте указывается жёстко рабочая папка, то наверное при написании папок-исключений необходимо отталкиваться относительно её, а это значит пути будут относительными. »
|
Да. И без замыкающего обратного слэша (т.е. «Exclude Folder 01», «Exclude Folder 02», «Exclude Folder 03\Folder4\Folder5» и т.п.).