小编ilR*_*bby的帖子

如何在 PowerShell 中从 Get-ChildItem 中排除文件和文件夹?

我制作了一个 PowerShell 脚本,该脚本通过 md5 检查运行 robocopy。

它工作正常,但如果我尝试排除某些目录或文件,robocopy 会处理排除,而比较哈希的脚本的 MD5 部分不起作用,会返回一些错误,因为源的文件/哈希比目标多。 。

我可能已经尝试过我在这里和互联网上找到的所有方法!我无法从路径中排除目录和/或文件!

以下是我到目前为止所做的事情。在此模式下,md5 复制有效(不排除):

$Source = "F:\"

$IgnoreDir = @(
    $Source + '$RECYCLE.BIN'
    $Source + "System Volume Information"
    $Source + "VMs"
)   
$IgnoreFile = @(
    $Source + "SHDrive.vmdk"
    $Source + "SHDrive-flat.vmdk"
)
$Ignored = $IgnoreDir + $IgnoreFile
Run Code Online (Sandbox Code Playgroud)

机器人复制:

Robocopy.exe /R:1 /W:0 $Source $Dest /E /V /TEE /XD $IgnoreDir /XF $IgnoreFile /LOG:$LogDir\RBCY_MD5_F.txt
Run Code Online (Sandbox Code Playgroud)

MD5:

$SourceHash = Get-ChildItem "$Source\*.*" -Recurse -Force -Exclude $Ignored | Where-Object {!$_.psiscontainer } | Get-FileHash
$SourceHash | Select-Object "Hash", …
Run Code Online (Sandbox Code Playgroud)

powershell get-childitem get-filehash

3
推荐指数
1
解决办法
9169
查看次数

标签 统计

get-childitem ×1

get-filehash ×1

powershell ×1