如何在批处理文件中递归运行 b2sum-amd64-windows 命令?

如何在批处理文件中递归运行 b2sum-amd64-windows 命令?

BLAKE(哈希函数):https://blake2.net/

下载:https://blake2.net/b2sum-bin_20130305.zip

当前 b2sum-amd64-windows 命令不包含递归选项

例如在 Windows 命令提示符中:

C:\用户\名称>b2sum-amd64-windows.exe -a blake2sp “G:\Program Files\Techland\Dying Light*.*”

无法打开G:\Program Files\Techland\Dying Light\DW': Permission denied Could not openG:\Program Files\Techland\Dying Light\DW_DLC1':权限被拒绝

信息摘要G:\Program Files\Techland\Dying Light\239140_install.vdf

信息摘要G:\Program Files\Techland\Dying Light\bink2w64.dll

答案1

首先,谢谢你。我不知道这个工具。

输出中的错误是由于该工具尝试将文件夹作为文件打开而导致的

您需要遍历文件夹结构,并调用该工具来获取每个文件夹的内容

for /r "G:\Program Files\Techland\Dying Light" /d %a in (.) do b2sum-amd64-windows.exe -a blake2sp "%~fa\*" 2>nul 

for命令/r将从指示点开始递归 ( ) 搜索目录 ( /d)。对于找到的每个文件夹,for可替换参数%a将保存对它的引用。使用此引用,我们将使用文件夹的完整路径 ( %~fa) 对其中的文件(和文件夹,无法将它们分开)执行该工具。错误被发送到 stderr,因此我们将此流 (2) 重定向到 nul 设备以隐藏它们。

要在批处理文件中使用此命令,需要对百分号进行转义,将每个百分号替换%%%,因此最终会以%%a%%~fa

相关内容