You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C#和正则表达式将文件指定文本替换为自身文件名

批量修改CUE文件匹配改名后的音频文件

我使用Windows 10 32位系统,需要自动化修改CUE文件,让文件内指定的音频文件名与CUE自身无扩展名的文件名一致——因为对应的MP3/M4B音频文件已经改名,必须让CUE能正确匹配它们。

之前在Notepad++中验证过替换用的正则表达式有效,但找不到现成工具支持将当前CUE文件名作为变量进行替换,于是自己编写了一段C#代码实现这个自动化流程:

var files = new DirectoryInfo(@"D:\TestFolder\").GetFiles("*.cue", SearchOption.AllDirectories);
foreach(var fileInfo in files)
{
    var text = File.ReadAllText(fileInfo.FullName);
    string TrimmedText = fileInfo.Name; // 获取文件名到字符串
    TrimmedText = TrimmedText.Substring(0, TrimmedText.Length - 4); // 去掉文件名的扩展名
    text = Regex.Replace(text, @"(?<=FILE \"\").+?(?=\....\"")", TrimmedText); // 用文件名替换匹配到的内容
    File.WriteAllText(fileInfo.FullName, text);
}

代码说明与示例

这段代码会遍历指定目录(示例中为D:\TestFolder\)及其所有子目录下的.cue文件:

  1. 读取每个CUE文件的内容
  2. 提取CUE文件名并去掉.cue扩展名
  3. 通过正则替换CUE文件中FILE "xxx" xxx格式行里的文件名部分

比如原本CUE文件中有一行:

FILE "Alfred Minoa.1998 - Animals of The Sahara - Documentary.m4b" MP4

运行代码后,引号内的文件名会被替换为当前CUE文件的无扩展名名称,确保CUE能匹配改名后的音频文件。

内容的提问来源于stack exchange,提问作者Eric C.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 16:15:56