回复 10# aloha20200628
最后还是借鉴了你的代码 你看看怎么样?- @echo off
- for /f "skip=3 delims=" %%i in ('crc32 "%~1"') do set str=%%i
- echo file : %~1
- echo crc32 : %str:~-8%
- echo rename: %~n1 %str:~-8%%~x1
- ren "%~1" "%~n1 %str:~-8%%~x1"
复制代码 我之前写的发现有问题,有时候成功 有时候下一次获取的crc32 时上一次运行的别的文件的crc
感觉像是缓存到下一次了
我之前的问题代码你也看看,我感觉是不是 写到循环体里面的原因,借鉴你的代码,我写到循环体外面就没问题,真奇怪- @echo off
- for /f "skip=3 tokens=*" %%i in ('crc32 "%~1"') do (
- set str=%%i
- echo file : %~1
- echo crc32 : %str:~-8%
- echo rename: %~n1 %str:~-8%%~x1
- )
复制代码 空文件都输出crc,在测试别的还是 多测试几次就更新了- D:\>"hash & rename.bat"
- file :
- crc32 : 2DED4E27
- rename: 2DED4E27
- file :
- crc32 : 2DED4E27
- rename: 2DED4E27
- D:\>"hash & rename.bat" "a.txt 756ED4BE 756ED4BE 756ED4BE 756ED4BE.mp4"
- 100% complete
-
- file : a.txt 756ED4BE 756ED4BE 756ED4BE 756ED4BE.mp4
- crc32 : cified.
- rename: a.txt 756ED4BE 756ED4BE 756ED4BE 756ED4BE cified..mp4
- D:\>"hash & rename.bat" "a.txt 756ED4BE 756ED4BE 756ED4BE 756ED4BE.mp4"
- 100% complete
-
- file : a.txt 756ED4BE 756ED4BE 756ED4BE 756ED4BE.mp4
- crc32 : 756ED4BE
- rename: a.txt 756ED4BE 756ED4BE 756ED4BE 756ED4BE 756ED4BE.mp4
- D:\>"hash & rename.bat" "a.txt 756ED4BE 756ED4BE 756ED4BE 756ED4BE.mp4"
- 100% complete
-
- file : a.txt 756ED4BE 756ED4BE 756ED4BE 756ED4BE.mp4
- crc32 : 756ED4BE
- rename: a.txt 756ED4BE 756ED4BE 756ED4BE 756ED4BE 756ED4BE.mp4
- D:\>
复制代码
|