在电脑使用过程中,难免会遇到文件重复的问题,尤其是文凭这类重要文件。为了避免文件混乱,我们可以通过编写一个简单的批处理脚本(Batch Script),使用CMD命令行工具来一键删除重复的文凭文件。下面,我将详细讲解如何创建并使用这个批处理脚本。

什么是批处理脚本?

批处理脚本是一种由一系列命令组成的文本文件,它可以在Windows操作系统中执行一系列操作,而不需要用户手动一个一个输入命令。通过批处理脚本,我们可以自动化完成一些重复性任务,提高工作效率。

创建批处理脚本

  1. 打开记事本:按下 Win + R,输入 notepad 并按回车键。

  2. 编写批处理命令:以下是一个简单的批处理脚本示例,用于删除当前目录下重复的文凭文件。

    @echo off
    setlocal enabledelayedexpansion
    
    
    rem 指定要搜索的文件类型
    set "fileType=*.docx"
    
    
    rem 创建一个空文件来存储文件哈希值
    type nul > hashlist.txt
    
    
    rem 遍历所有指定类型的文件
    for %%F in (%fileType%) do (
        rem 计算文件的哈希值
        certutil -hashfile "%%F" MD5 > "%%F.hash"
    
    
        rem 读取文件的哈希值并比较
        findstr /M /R "%%F" hashlist.txt > nul || (
            rem 如果文件哈希值不在列表中,添加到列表
            echo %%F >> hashlist.txt
        ) || (
            rem 如果文件哈希值已在列表中,删除文件
            del "%%F"
        )
    )
    
    
    rem 删除哈希值文件
    del hashlist.txt
    del *.hash
    
    
    echo 完成重复文件的删除。
    endlocal
    
  3. 保存批处理脚本:将文件保存为 .bat 扩展名,例如 delete_duplicates.bat

使用批处理脚本

  1. 运行批处理脚本:双击保存的 .bat 文件,或者在CMD中输入 delete_duplicates.bat 并按回车键。

  2. 注意:在执行此脚本之前,请确保备份你的文凭文件,以防止误删。

批处理脚本说明

  • @echo off:关闭命令回显,使脚本运行时不会显示每个命令。
  • setlocal enabledelayedexpansion:启用延迟变量扩展,允许在for循环中修改变量。
  • set "fileType=*.docx":指定要搜索的文件类型,这里以 .docx 文件为例。
  • certutil -hashfile "%%F" MD5 > "%%F.hash":使用 certutil 命令计算文件的MD5哈希值。
  • findstr /M /R "%%F" hashlist.txt > nul || (...):查找文件哈希值是否已在列表中,如果不在,则添加到列表;如果在,则删除文件。
  • del:删除文件。

通过以上步骤,你可以轻松创建一个批处理脚本,用于一键删除电脑中重复的文凭文件。记得在使用前备份重要文件,以免造成不必要的损失。