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

如何用PowerShell生成哈希:相对路径格式的.info校验文件

实现方案

直接使用字符串拼接输出纯文本内容即可,避免PowerShell对象格式化带来的多余表头、字段问题,完整脚本如下:

# 请先修改为你的实际工作根目录
$WorkPath = "替换为你的目标根目录完整路径"
$outputPath = Join-Path $WorkPath "us\update.info"

# 遍历文件计算哈希并输出指定格式内容
Get-ChildItem -Path $WorkPath -Recurse -Force -File | ForEach-Object {
    $sha1Hash = (Get-FileHash -Path $_.FullName -Algorithm SHA1).Hash
    # 计算相对路径,如需保留Windows反斜杠格式可删除.Replace('\', '/')
    $relativePath = $_.FullName.Replace($WorkPath, '').TrimStart('\', '/').Replace('\', '/')
    # 按要求拼接字符串
    "${sha1Hash}:${relativePath}"
} | Out-File -FilePath $outputPath -Encoding UTF8

关键说明

  • Get-ChildItem添加-File参数仅处理文件,避免文件夹计入结果
  • 直接输出拼接后的纯字符串,不会产生任何表头、多余字段
  • 编码可根据你的解析器要求调整,如使用系统默认编码可将-Encoding UTF8修改为-Encoding Default
  • 如需保留路径的反斜杠格式,删除相对路径处理逻辑中的.Replace('\', '/')即可

原脚本问题说明

  1. 第一版脚本仅提取了哈希值属性,未保留路径信息,因此无法拼接路径内容
  2. 第二版脚本直接将Select-Object返回的对象输出到文件,PowerShell会默认输出格式化后的表格内容,因此会出现表头等多余元素

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:09:03