吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 181|回复: 3
上一主题 下一主题
收起左侧

[经验求助] 求一段批处理代码!!!

[复制链接]
跳转到指定楼层
楼主
li5539802 发表于 2026-1-14 17:24 回帖奖励
50吾爱币
校验1.txt文件的md5值,如果该值等于设定值,则把1.txt移动到原版文件夹,否则移动到备份文件夹

最佳答案

查看完整内容

脚本内容如下: [mw_shl_code=powershell,true]@echo off setlocal enabledelayedexpansion :: ================= 配置区域 ================= :: 设定原版文件夹名称 set "ORIG_DIR=原版文件夹" :: 设定备份文件夹名称 set "BACK_DIR=备份文件夹" :: 设定配置文件名称 set "CONFIG_FILE=config.ini" :: =========================================== :: 创建必要的文件夹 if not exist "%ORIG_DIR%" mkdir "%ORIG ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
xiaoyi201321 发表于 2026-1-14 17:24
脚本内容如下:
[PowerShell] 纯文本查看 复制代码
@echo off
setlocal enabledelayedexpansion

:: ================= 配置区域 =================
:: 设定原版文件夹名称
set "ORIG_DIR=原版文件夹"
:: 设定备份文件夹名称
set "BACK_DIR=备份文件夹"
:: 设定配置文件名称
set "CONFIG_FILE=config.ini"
:: ===========================================

:: 创建必要的文件夹
if not exist "%ORIG_DIR%" mkdir "%ORIG_DIR%"
if not exist "%BACK_DIR%" mkdir "%BACK_DIR%"

:: 检查配置文件是否存在
if not exist "%CONFIG_FILE%" (
    echo [错误] 找不到配置文件: %CONFIG_FILE%
    pause
    exit /b
)

echo ---------------------------------------
echo   MD5 校验与文件移动脚本开始运行
echo ---------------------------------------

:: 读取配置文件 (按逗号分割)
for /f "tokens=1,2 delims=," %%a in (%CONFIG_FILE%) do (
    set "filename=%%a"
    set "target_md5=%%b"

    :: 检查文件是否存在
    if exist "!filename!" (
        echo 正在校验: !filename!
        
        :: 获取文件的 MD5 值 (利用 certutil 工具)
        set "current_md5="
        for /f "skip=1 delims=" %%i in ('certutil -hashfile "!filename!" MD5') do (
            if not defined current_md5 (
                set "current_md5=%%i"
                :: 去掉 MD5 字符串中的空格
                set "current_md5=!current_md5: =!"
            )
        )

        echo 当前 MD5: !current_md5!
        echo 预期 MD5: !target_md5!

        :: 比较 MD5 值 (不区分大小写 /i)
        if /i "!current_md5!"=="!target_md5!" (
            echo [结果] 匹配成功!移动到 %ORIG_DIR%
            move "!filename!" "%ORIG_DIR%\" >nul
        ) else (
            echo [结果] 匹配失败!移动到 %BACK_DIR%
            move "!filename!" "%BACK_DIR%\" >nul
        )
    ) else (
        echo [跳过] 文件不存在: !filename!
    )
    echo ---------------------------------------
)

echo 任务处理完毕!
pause


配置文件示例:
[Asm] 纯文本查看 复制代码
1.txt,d41d8cd98f00b204e9800998ecf8427e
test.exe,5d41402abc4b2a76b9719d911017c592
data.zip,7b502c3a1f48c901b8334017057fc343
3#
 楼主| li5539802 发表于 2026-1-14 18:20 |楼主
xiaoyi201321 发表于 2026-1-14 17:35
脚本内容如下:
[mw_shl_code=powershell,true]@echo off
setlocal enabledelayedexpansion

匹配成功,则把备份文件夹的文件移动到当前文件夹,匹配失败,则把原版文件夹里的文件移动到当前文件夹。谢谢大佬了,再把这点条件加上吧!
4#
xiaoyi201321 发表于 2026-1-15 15:49
li5539802 发表于 2026-1-14 18:20
匹配成功,则把备份文件夹的文件移动到当前文件夹,匹配失败,则把原版文件夹里的文件移动到当前文件夹。 ...

这个应该是支持你的这个想法吧,把路径设置好就可以了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-1-17 02:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表