[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
需下载第三方工具 crc32sum
  1. @echo off & setlocal enabledelayedexpansion
  2. REM 源文件夹1
  3. set "fd1=E:\Test\1"
  4. REM 源文件夹2
  5. set "fd2=E:\Test\2"
  6. for /f "delims=" %%i in ('crc32sum "%fd1%\*.nds"') do (
  7.     set "s=%%i"
  8.     for %%j in ("!s:~0,-9!") do set "_!s:~-8!=%%~nxj"
  9. )
  10. for /f "delims=" %%i in ('crc32sum "%fd2%\*.nds"') do (
  11.     set "s=%%i"
  12.     for %%j in (!s:~-8!) do (
  13.         if defined _%%j ren "!s:~0,-9!" "!_%%j!"
  14.     )
  15. )
  16. pause
复制代码
1

评分人数

TOP

  1. function Get-MD5($filePath){
  2.     $objMD5 = [System.Security.Cryptography.MD5]::Create('MD5');
  3.     $stream = [IO.File]::Open($filePath, [IO.FileMode]::Open, [IO.FileAccess]::Read);
  4.     [BitConverter]::ToString( $objMD5.ComputeHash($stream) );
  5.     $stream.Close();
  6. }
  7. $fd1 = 'E:\Test\1';    #源文件夹1
  8. $fd2 = 'E:\Test\2';    #源文件夹2
  9. $ext = '*.nds';        #文件类型
  10. $Hash = @{};
  11. dir -Literal $fd1 -filter $ext | forEach {
  12.     $md5 = Get-MD5 $_.FullName;
  13.     $Hash[$md5] = $_.Name;
  14. }
  15. dir -Literal $fd2 -filter $ext | forEach {
  16.     $md5 = Get-MD5 $_.FullName;
  17.     if( $Hash.ContainsKey($md5) ){
  18.         mv -Literal $_.FullName -Dest ($fd2 + '\' + $Hash[$md5]) -Force;
  19.     }
  20. }
复制代码

TOP

返回列表