【发布时间】:2014-09-11 10:51:20
【问题描述】:
我已经阅读了一些主题 (Use the contents of a file to rename it),虽然它们涉及到我的问题,但我没有足够的深度来修改它们以满足我的需要。我更喜欢批处理解决方案,但其他解决方案也可以。
我有几百个文件,按以下顺序排列:-
- PHRASE0001.J8I
- PHRASE0001.WAV
- PHRASE0002.J8I
- PHRASE0002.WAV
每个 J8I 二进制文件都开始:-
JS-8 ¬¬fmt ¬ ¬J8I ¬ ¬Pop:Classic Pop
JS-8 ¬¬fmt ¬ ¬J8I ¬ ¬Pop:Classic Pop (Simple)
然后每个 J8I 二进制文件在 1kb 数据之前用 00 hex 填充大约 256 字节,然后是 EOF。
我想要一个批处理在 PHRASE0001.J8I 中将字符串“Pop:Classic Pop”偏移 33btyes 并将其姊妹文件 PHRASE0001.WAV 重命名为“Pop - Classic Pop.WAV”(即删除所有冒号,一些文件有两个并用“ - ”替换它(SPACEDASHSPACE)
根据相应的 J8I 文件中的内容,仅重命名 WAV。
因此,当 PHRASE0245.J8I 包含时,应将 PHRASE0002.WAV 重命名为“Pop - Classic Pop (Simple).WAV”或将名为 PHRASE0245.WAV 的文件重命名为“Latin - Samba1 (BPM - 100).WAV”
JS-8 ¬¬fmt ¬ ¬J8I ¬ ¬Latin:Samba1 (BPM:100)
我相信这个脚本可以在很多情况下使用,一旦完成,即使是我也可以轻松修改。
感谢观看
查理
我忘了,我不能确定,因为我没有检查每个文件,但我认为最长的字符串类似于“Country: Country Ballad (Alternative)”,或者不会长很多,但它们后面总是跟着 00,我想从 64 个字符中截断应该足以避免错误,或者读取直到碰到多个空格应该足以找到字符串长度。
【问题讨论】:
标签: string batch-file rename