[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

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

没有人会吗?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
初九的冬天

本帖最后由 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

TOP

回复 2# B魔方大人


    嗯谢谢,很不错,就是后面还有没改掉的,比如
86d92ba58bef2eaae15989638f17e5d3.mp3
华晨宇 - 微光-86d92ba58bef2eaae15989638f17e5d3-15367237-00000000.krc
改出来是华晨宇 - 微光--15367237-00000000
后面的没去掉,去掉就完美了,谢谢
初九的冬天

TOP

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

krc文件有多少个?
您好

TOP

回复 4# Tianorder


   有几百个MP3,每个MP3都对应一个 krc文件
初九的冬天

TOP

本帖最后由 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
复制代码
1

评分人数

TOP

回复 6# WHY


    谢谢,好用!非常感谢
初九的冬天

TOP

返回列表