为文件一键命名为其md5值

不知道怎么给文件命名?一键命名为其md5不就是了!

单文件拖拽版

无需启动,直接将文件拖拽到.bat文件上

@echo off
setlocal enabledelayedexpansion :: 获取文件完整路径
set "file_path=%~1" :: 检查文件是否存在
if not exist "!file_path!" (
echo File not found: !file_path!
exit /b 1
) :: 使用CertUtil计算MD5
for /f "delims=" %%a in ('certutil -hashfile "!file_path!" MD5 ^| find /v ":" ^| find /v "CertUtil"') do (
set "file_md5=%%a"
) :: 替换MD5字符串中的空格
set "file_md5=!file_md5: =!" :: 获取文件目录、文件名和扩展名
for %%i in ("!file_path!") do (
set "file_dir=%%~dpi"
set "file_name=%%~ni"
set "file_ext=%%~xi"
) :: 重命名文件
set "new_file_path=!file_dir!!file_md5!!file_ext!"
echo Renaming "!file_path!" to "!new_file_path!"
rename "!file_path!" "!file_md5!!file_ext!" :: 结束
endlocal

多文件拖拽版

可能一次需要处理多个文件吧。那么将它们全选中,一并拖拽即可

@echo off
setlocal enabledelayedexpansion :: 遍历所有提供的文件路径
:next
if "%~1"=="" goto end
set "file_path=%~1" :: 检查文件是否存在
if not exist "!file_path!" (
echo File not found: !file_path!
goto shiftArgs
) :: 使用CertUtil计算MD5
for /f "delims=" %%a in ('certutil -hashfile "!file_path!" MD5 ^| find /v ":" ^| find /v "CertUtil"') do (
set "file_md5=%%a"
) :: 替换MD5字符串中的空格
set "file_md5=!file_md5: =!" :: 获取文件目录、文件名和扩展名
for %%i in ("!file_path!") do (
set "file_dir=%%~dpi"
set "file_name=%%~ni"
set "file_ext=%%~xi"
) :: 重命名文件
set "new_file_path=!file_dir!!file_md5!!file_ext!"
echo Renaming "!file_path!" to "!new_file_path!"
rename "!file_path!" "!file_md5!!file_ext!" :: 移动到下一个参数
:shiftArgs
shift
goto next :: 结束
:end
endlocal

Attention

请注意,在实际使用之前在安全的环境中测试此脚本,以确保它满足你的要求并且没有意外的行为。

为文件一键命名为其md5值的更多相关文章

  1. MD5算法【计算文件和字符串的MD5值】

    1. MD5算法是一种散列(hash)算法(摘要算法,指纹算法),不是一种加密算法(易错).任何长度的任意内容都可以用MD5计算出散列值.MD5的前身:MD2.MD3.MD4.介绍工具:CalcMD5 ...

  2. linux下md5sum用法 (查看文件或字符串的md5值)

    MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长 ...

  3. JAVA 文件读取写入后 md5值不变的方法

    假如我们想把某文件读入 StringBuffer 并写入新文件,新文件md5值需要保持不变(写入新文件后保证和源文件一模一样), 我们就需要在操作 StringBuffer 时附加换行符: Strin ...

  4. 通过python的hashlib模块计算一个文件的MD5值

    Python的hashlib提供了很多摘要算法,如MD5,SHA1等常用算法. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(如MD5值 ...

  5. MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能

    MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...

  6. python计算文件的md5值

    前言 最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可.这个想法在windows的pc端下测试没有问题. 但是当 ...

  7. java获取文件的md5值

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

  8. asp.net和js读取文件的MD5值的方法

    前言 文件的md5值,即文件签名,为了验证文件的正确性,是否被恶意篡改等.每个文件有一个唯一的md5值. 最近公司开发的app文件包的校验就有用到文件md5值. 一.asp.net获取 ①和上传文件一 ...

  9. C#计算文件的MD5值实例

    C#计算文件的MD5值实例 MD5 是 Message Digest Algorithm 5(信息摘要算法)的缩写,MD5 一种散列(Hash)技术,广泛用于加密.解密.数据签名和数据完整性校验等方面 ...

  10. python检测文件的MD5值

    python检测文件的MD5值MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权 ...

随机推荐

  1. DBeaver连接mysql时,报错Public Key Retrieval is not allowed

    解决 在新建连接的时候,驱动属性里设置 allowPublicKeyRetrieval 的值为 true.

  2. Django实战项目-学习任务系统-需求说明

    一,需求说明 在我最近的阅读中,我深深被一些关于智能或系统的小说吸引.这些小说的主角意外获得某种神秘的智能或系统,然后通过完成系统发布的各种任务,逐渐提升自己的知识和能力.即使是普通的屌丝,也能在系统 ...

  3. C++基础学习--随记

    博客地址:https://www.cnblogs.com/zylyehuo/ 参考"C++基础与深度解析" 一.预备知识 // c++常用工具 /usr/bin/time //查看 ...

  4. v-bind,v-if,v-for,v-on,v-model基本用法

    总结: 1.v-bind绑定数据:标签属性v-bind:title='xxx',简写:title='xxx', 标签内容{{xxx}} <span :title='message'>{{m ...

  5. jmeter跨线程组传参的方法

    Jmeter线程组下脚本,当设置好线程数后,该组下所有脚本均会执行对应的次数 测试场景: 1,后台登录新建拼团活动 2,获取拼团ID 3,多个会员前端登录,传入拼团ID参加拼团活动 要实现上面的测试场 ...

  6. fiddler抓包常用辅助工具

    一.过滤器 1.hosts: 只展示内网或外网的hosts,internet(外网),Intranet(内网) 展示下面的hosts/隐藏下面的hosts/:选择后填写需要设置的hosts(地址前面的 ...

  7. vue报错:Property or method "xxx" is not defined on the instance but referenced during render.

    vue报错:Property or method "attendanceDetaill" is not defined on the instance but referenced ...

  8. Gnirehtet —— 通过 USB 让手机共享 PC 网络

    Gnirehtet 使用教程 什么是 Gnirehtet? Gnirehtet("Tethering" 反写)是 Google 开发的开源工具,用于 通过 USB 共享 PC 网络 ...

  9. Windows系统常用端口详解

    7,9,13,17,19 这是几个简单的TCP/IP服务,在windows中被Simple TCP/IP Services管理. 7 : Echo 服务:将接收到的数据原样返回. 9 : Discar ...

  10. Agent安装与使用

    Agent安装与使用 前置条件 安装jdk17 下载 https://dlcdn.apache.org/skywalking/java-agent/9.1.0/apache-skywalking-ja ...