linux和windows中文件夹内容的计算哈希
我需要通过网络将一个文件夹(里面有一堆文件和文件夹)从linux复制到windows(反之亦然)。为了确保复制的文件和文件夹是相同的,我需要比较散列。复制损坏很少见,但有时会发生,我不想zip/tar/rar/将其复制到文件夹中,检查哈希并在目标计算机中提取它 因此,我尝试在每台机器(Linux和windows)中创建一个命令/脚本,以计算哈希值(使用md5)。下面是我的想法,并且它可以运行(详细信息在这里:但它是印尼文的) 备注:使用文件夹名称/完整路径更改“coba” Linux端:linux和windows中文件夹内容的计算哈希,linux,windows,powershell,hash,directory,Linux,Windows,Powershell,Hash,Directory,我需要通过网络将一个文件夹(里面有一堆文件和文件夹)从linux复制到windows(反之亦然)。为了确保复制的文件和文件夹是相同的,我需要比较散列。复制损坏很少见,但有时会发生,我不想zip/tar/rar/将其复制到文件夹中,检查哈希并在目标计算机中提取它 因此,我尝试在每台机器(Linux和windows)中创建一个命令/脚本,以计算哈希值(使用md5)。下面是我的想法,并且它可以运行(详细信息在这里:但它是印尼文的) 备注:使用文件夹名称/完整路径更改“coba” Linux端: ```
```$ find ./coba -type f -exec md5sum {} \; | sort -k 2 | awk '{print $1}' | tr [a-z] [A-Z] | tr \-d '\n'> tmpHash; md5sum tmpHash; rm tmpHash```
车窗侧(电源外壳5.1):
(对于windows端,我将其更改为脚本,可以从上下文菜单中调用,详细信息见博客)
现在,关于问题:
(gci coba-rec-Filter*| get filehash-al MD5 | select-exp hash)-join'.\Set Content-NoNewLine tmpHash;获取FileHash tmpHash-算法md5;rm tmpHash
。
```((Get-ChildItem coba -Recurse -Filter * | % { & Get-FileHash $_.FullName -Algorithm md5 | ft -Hidetableheaders | Out-String; }).Trim() | % {($_ -split "\s+")[1] ;}) -join '' | Set-Content -NoNewLine tmpHash; Get-FileHash tmpHash -Algorithm md5; rm tmpHash```