gpt4 book ai didi

file - Groovy 重命名文件

转载 作者:行者123 更新时间:2023-12-05 00:32:43 25 4
gpt4 key购买 nike

我正在尝试使用 Groovy 重命名目录中的文件,但我似乎无法理解它是如何工作的。

这是我的脚本:

import groovy.io.FileType

def dir = new File("C:/Users/דודו/Downloads/Busta_Rhymes-Genesis-(Retail)-2001-HHI")

def replace = {
if (it == '_') {
' '
}
}

String empty = ""

dir.eachFile (FileType.FILES) { file ->
String newName = file.name
newName = newName.replaceAll(~/Busta_Rhymes/, "$empty")
newName = newName.replaceAll(~/feat/, "ft")
newName = newName.replaceAll(~/-HHI/, "$empty")
newName = newName.replaceAll(~/--/, "-")

newName = newName.collectReplacements(replace)

file.renameTo newName

println file.name
}

当我运行它时,文件的名称没有按预期更改。我想知道我怎么能让这个工作。

最佳答案

这里有很多错误:

  • 您的 dir变量不是目录;它是您实际要更改的目录中的文件。改变这一行:
    dir.eachFile (FileType.FILES) { file ->

    对此:
    dir.parentFile.eachFile (FileType.FILES) { file ->
  • renameTo方法不会重命名本地名称(我知道,非常违反直觉),而是重命名路径。所以更改以下内容:
        String newName = file.name

    对此:
        String newName = file.path
  • 现在,出于某种超出我理解的原因,println file.name仍然打印出旧名称。 然而 ,如果您查看实际目录后记,您将看到该文件已在目录中正确重命名。
  • 关于file - Groovy 重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39786470/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com