标题: [数值计算] bat如何计算出文件的eD2k_HASH(仿照LinkCreator0.7) [打印本页]
作者: eldenring 时间: 2021-5-13 04:59 标题: bat如何计算出文件的eD2k_HASH(仿照LinkCreator0.7)
本帖最后由 eldenring 于 2021-5-13 05:02 编辑
像这个帖子里的工具、python 生成同样的链接格式
https://www.52pojie.cn/thread-1060916-1-1.html
linkcreator0.7 百度一下就能下载。
P.S. 如果能解决的话,希望能进一步扩展成:在一个父文件夹下,放入bat,点击即可在其多个子文件夹里生成各自独立的所有文件的批量ed2k(大佬们应该能理解吧)
作者: xp3000 时间: 2021-5-13 06:45
本帖最后由 xp3000 于 2021-5-13 20:06 编辑
- @echo off
- setlocal enabledelayedexpansion
- if not exist "C:\Windows\System32\ed2ksum.exe" (
- 没有ed2ksum,请前往下面地址或其他网站下载,放入C:\Windows\System32
- echo,http://bcn.bathome.net/s/tool/index.html?key=ed2ksum
- pause&exit /b
- )
- for /f "delims=" %%i in ('"dir /a/s/b/on *.*"') do (
- if not "%%~xi"=="%~x0" (
- for /f "tokens=1,* delims= " %%j in ('ed2ksum.exe "%%i"') do (
- echo ed2k://^|file^|%%~nxi^|%%~zi^|%%j^|/
- )
- )
- )>>ed2k.txt
- set n=0
- for /f %%i in (ed2k.txt) do if '%%i' neq '' set /a n+=1
- if exist %n%个文件ed2k.txt (move /y ed2k.txt %n%个文件ed2k.txt) else (ren ed2k.txt %n%个文件ed2k.txt)
- pause
复制代码
- @echo off
- setlocal enabledelayedexpansion
- if not exist "C:\Windows\System32\ed2ksum.exe" (
- 没有ed2ksum,请前往下面地址或其他网站下载,放入C:\Windows\System32
- echo,http://bcn.bathome.net/s/tool/index.html?key=ed2ksum
- pause&exit /b
- )
-
- set n=0
- for /f "delims=*" %%i in ('dir /b /ad /s *') do (
- setlocal
- pushd %%i
- for /f "delims=*" %%j in ('dir /a-d /b "*.*"^|findstr /i /v "txt$"') do (
- set /a n+=1&set size=%%~zj
- for /f "delims=* " %%k in ('ed2ksum.exe "%%j"') do (
- echo ed2k://^|file^|%%~nxj^|!size!^|%%k^|/
- )
- )>>ed2k.txt
- if exist !n!个文件ed2k.txt (move /y ed2k.txt !n!个文件ed2k.txt>nul) else (ren ed2k.txt !n!个文件ed2k.txt)
- endlocal
- popd
- )
- pause
复制代码
呃~~~有两个问题没注意看,补上
作者: eldenring 时间: 2021-5-13 07:54
回复 2# xp3000
谢谢老哥热心解答!不过我发现路径中有空格就无法计算了… 然后我希望能指定任何后缀的文件就好了
作者: eldenring 时间: 2021-5-13 07:58
本帖最后由 eldenring 于 2021-5-13 08:00 编辑
如果它能进一步延伸,我希望还能实现这样:
作者: 523066680 时间: 2021-5-13 08:18
试了一下 ed2k_hash http://ed2k-tools.sourceforge.net/ed2k_hash.shtml
执行复制代码
就可以生成当前目录所有文件的ed2k
作者: xp3000 时间: 2021-5-13 09:23
回复 3# eldenring
已改
作者: eldenring 时间: 2021-5-13 17:15
本帖最后由 eldenring 于 2021-5-13 17:21 编辑
回复 2# xp3000
感谢老大激情解答!!第一个代码完美了。不过第二个作延伸功能的代码 生成的ed2k.txt似乎不出现计算文件的完整中文名,txt里面的文件名只显示了数字、字母… 而且我是想表示全部子文件夹各自都计算出来,不是指首个子文件夹…
作者: xp3000 时间: 2021-5-13 19:58
回复 7# eldenring
ed2ksum不支持中文,现在改过来了,下面是另外一个工具- @echo off
- setlocal enabledelayedexpansion
- if not exist "C:\Windows\System32\ed2k_hash.exe" (
- 没有ed2k-tools,请前往下面地址或其他网站下载,放入C:\Windows\System32
- echo,http://ed2k-tools.sourceforge.net/ed2k_hash.shtml
- pause&exit /b
- )
-
- set n=0
- for /f "delims=*" %%i in ('dir /b /ad /s *') do (
- setlocal
- pushd %%i
- for /f "delims=*" %%j in ('dir /a-d /b "*.*"^|findstr /i /v "txt$"') do (set /a n+=1
- for /f "delims=*" %%k in ('ed2k_hash.exe "%%j"') do (
- echo %%k/
- )
- )>>ed2k.txt
- if exist !n!个文件ed2k.txt (move /y ed2k.txt !n!个文件ed2k.txt>nul) else (ren ed2k.txt !n!个文件ed2k.txt)
- endlocal
- popd
- )
- pause
复制代码
作者: eldenring 时间: 2021-5-13 22:18
回复 8# xp3000
非常棒,老哥。
子文件夹这个 好像还是有点不完美,我用notepad++编辑器最新版,copy代码进新建的bat,选择了ansi编码,若是默认utf-8会使输出的txt文件名和内容乱码。
notepad++ 我还习惯用它来打开txt,但有些奇怪 子文件夹的ed2k.txt会以utf-8编码显示,是乱码来的,得手动换成ansi来查看。如果记事本打开 就是ansi编码显示,正常无乱码。
不知还有没有办法让它转换成utf-8的正常中文结果…
作者: xp3000 时间: 2021-5-13 22:50
增加子文件夹,第十行dir /b /ad /s *改为dir /a:d /b /s *
作者: eldenring 时间: 2021-5-14 19:03
回复 10# xp3000
感谢老哥的耐心,我想给你发个红包,可以短消息发QR Code
作者: xp3000 时间: 2021-5-14 19:28
http://bbs.bathome.net/thread-3473-1-1.html
如果有心可以支持下论坛维护
【论坛捐助支付宝账号】
作者: rockjean 时间: 2021-5-15 14:49
回复 4# eldenring
这个是windows arm系统吗?
作者: eldenring 时间: 2021-5-15 20:14
回复 13# rockjean
20H2(操作系统内部版本 19042.985)
应该是最新的。运行一个吾爱的ed2k.py出了问题,就来这询问大佬
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |