You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

批处理中实现hash*filename格式输出:解决echo不换行与顺序问题

批处理调整MD5哈希输出顺序的解决方案

原批处理代码输出格式为filename * hash,要改为hash * filename,直接调整echo命令位置会因命令输出换行导致格式异常,可通过以下方法实现目标格式:

修改后的完整代码

@echo off
setlocal enabledelayedexpansion
for /r %%A in (*.rsgp) do (
    :: 捕获certutil输出的MD5哈希,跳过说明行并过滤无关信息
    for /f "skip=1 delims=" %%B in ('certutil -hashfile "%%A" MD5 ^| find /v "h"') do (
        set "raw_hash=%%B"
        :: 移除哈希值中默认的空格分隔符
        set "clean_hash=!raw_hash: =!"
        :: 按目标格式输出
        echo !clean_hash! * "%%A"
    )
) >> file.txt
endlocal

关键说明

  • enabledelayedexpansion启用延迟变量扩展,保证循环内变量修改能实时生效
  • for /f "skip=1 delims=" %%B跳过certutil输出的第一行说明文本,精准捕获纯哈希行
  • set "clean_hash=!raw_hash: =!"去除certutil默认输出的哈希空格分隔符,得到连续的MD5字符串
  • 通过直接拼接变量输出,彻底避免原方法中因命令换行导致的格式混乱问题

内容的提问来源于stack exchange,提问作者᪵ mesi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 16:12:42