Board logo

标题: [问题求助] 【已解决】VBS怎样提取一个文件文件名中的指定字符串做为另一个文件的文件名? [打印本页]

作者: 1270697389    时间: 2015-11-13 20:28     标题: 【已解决】VBS怎样提取一个文件文件名中的指定字符串做为另一个文件的文件名?

本帖最后由 pcl_test 于 2016-7-24 13:48 编辑

要把第一个mp3文件改为第二个文件的中文部分,有很多这样的文件需要批量处理。
mp3的文件名在krc文件名里有字符串,比如我要修改86d92ba58bef2eaae15989638f17e5d3.mp3的文件名,就要先找出含有86d92ba58bef2eaae15989638f17e5d3的字符的krc文件的文件名,取中文部分为文件名。
就是这样,不知道我讲清楚没有。谢谢大家!
86d92ba58bef2eaae15989638f17e5d3.mp3
华晨宇 - 微光-86d92ba58bef2eaae15989638f17e5d3-15367237-00000000.krc

没有人会吗?
作者: B魔方大人    时间: 2015-11-16 04:11

本帖最后由 B魔方大人 于 2015-11-16 10:28 编辑

bat版的,bat MP3 krc同目录
@echo off&setlocal enabledelayedexpansion
for %%i in (*.mp3) do (
        for /f "delims=" %%s in ('dir /b *.krc^|findstr /c:"%%~ni"') do (
                set n=%%~ns
                set n=!n:%%~ni=!
                ren "%%i" "!n!"
)
)
pause
作者: 1270697389    时间: 2015-11-16 11:29

回复 2# B魔方大人


    嗯谢谢,很不错,就是后面还有没改掉的,比如
86d92ba58bef2eaae15989638f17e5d3.mp3
华晨宇 - 微光-86d92ba58bef2eaae15989638f17e5d3-15367237-00000000.krc
改出来是华晨宇 - 微光--15367237-00000000
后面的没去掉,去掉就完美了,谢谢
作者: Tianorder    时间: 2015-11-16 15:46

这个用正则表达式就可以吧?

krc文件有多少个?
作者: 1270697389    时间: 2015-11-16 19:38

回复 4# Tianorder


   有几百个MP3,每个MP3都对应一个 krc文件
作者: WHY    时间: 2015-11-16 21:02

本帖最后由 WHY 于 2015-11-16 21:04 编辑

这样试下:
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /b *.mp3') do (
  3.     for %%j in ("*-%%~ni*.krc") do (
  4.         set "s=%%~nj"
  5.         for /f "delims=/" %%k in ("!s:-%%~ni=/!") do ren "%%i" "%%k%%~xi"
  6.     )
  7. )
  8. pause
复制代码

作者: 1270697389    时间: 2015-11-17 08:38

回复 6# WHY


    谢谢,好用!非常感谢




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2