Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
linux和windows中文件夹内容的计算哈希_Linux_Windows_Powershell_Hash_Directory - Fatal编程技术网

linux和windows中文件夹内容的计算哈希

linux和windows中文件夹内容的计算哈希,linux,windows,powershell,hash,directory,Linux,Windows,Powershell,Hash,Directory,我需要通过网络将一个文件夹(里面有一堆文件和文件夹)从linux复制到windows(反之亦然)。为了确保复制的文件和文件夹是相同的,我需要比较散列。复制损坏很少见,但有时会发生,我不想zip/tar/rar/将其复制到文件夹中,检查哈希并在目标计算机中提取它 因此,我尝试在每台机器(Linux和windows)中创建一个命令/脚本,以计算哈希值(使用md5)。下面是我的想法,并且它可以运行(详细信息在这里:但它是印尼文的) 备注:使用文件夹名称/完整路径更改“coba” Linux端: ```

我需要通过网络将一个文件夹(里面有一堆文件和文件夹)从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端,我将其更改为脚本,可以从上下文菜单中调用,详细信息见博客)

现在,关于问题:

  • 有什么帮助可以使代码更小(更容易理解),特别是在windows端?(我是 在不使用临时文件“tmphash”的情况下创建脚本失败),但脚本仍然需要是一行程序
  • 有没有帮助为linux GUI(lxqt)创建上下文菜单,这样我就可以像在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```