【发布时间】:2018-06-30 17:25:04
【问题描述】:
我正在尝试编写一个脚本,该脚本将通过目录树运行并为每个文件夹的内容生成校验和并将校验和写入该文件夹;除了将校验和写入文件夹之外,我已经设法使用以下代码完成所有操作,它当前正在将所有内容写入根目录。
FOR /R "C:\_input\test" /D %%a IN (*) DO md5deep64 -r "%%a" >> "%%a.md5"
我认为我可以使用各种修饰符 (%~I) 做点什么,但我并不高兴。有什么想法吗?
【问题讨论】:
-
也许,
>"%%a\%%~nxa.md5"是你想要的; 虽然写入运行校验和的目录中的文件可能会是一个问题。您可能希望将其写入当前目录>"%%~nxa.md5",然后移动它Move /Y "%%~nxa.md5" "%%a"。 -
由于
for /r /d迭代所有子文件夹,-r到 md5deep 是多余的,如果 IMO 是FOR /R "C:\_input\test" /D %%a IN (*) DO md5deep64 "%%a\*" > "%%a.md5" -
@LotPings 是的,运行 '-r' 两次感觉没有必要,但如果没有它,我似乎无法让 md5deep 创建散列。谢谢。
标签: batch-file command-line md5 checksum