有没有办法在文件名中移动字符串? (视觉基础)
Is there a way to move strings around in filenames? (VisualBasic)
所以我的上下文是我有多个文件夹,里面装满了按字母顺序排序的文件。现在,在英语世界中有一篇名为 "the" 的令人讨厌的小文章,它不是很重要,并且会影响您的自动排序。现在我想做的是将 "the" 移动到文件名的末尾,但在我的后缀之一(例如 -01、-02)之前,因为多个文件具有相同的名称但版本不同。所以像这样:
"The Exemplar Example-01.ex" --> "Exemplar Example, The-01.ex"
所以我转向 VisualBasic Script (VBS) 并通过搜索 Google 接近我想要的东西,但无法得到我想要的东西。这是我的脚本:
private directfold
directfold=InputBox("Please specify a directory path:")
MsgBox("The folder to be 'de-annnoyed' is: " & directfold)
public annoyance
annoyance = "the"
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(directfold)
For each file In folder.Files
If instr(file.name, searchFileName) = 1 Then
file.name = renameFileTo
所以在脚本的底部你可能会发现 "renameFileTo" 命令没有给出任何参数,因为我不想重命名整个文件,我想 "move around" 文件名的一部分,如果文件名的那部分匹配 "annoyance" 字符串 ("the")。那么经过我漫长的漫游,有人可以帮助我吗?
您可能想让烦人的词包含尾随 space,这样 "They" 或 "Theme" 等名称就不会触发它。
如果末尾的分隔符始终是 -
并且是该字符在字符串中的唯一实例,则可以使用 Replace
来替换字符串。像这样
annoyance = "The "
f = "The Exemplar Example-01.ex"
newName = Replace(Replace(f,"-",", " + Trim(annoyance) + "-"),annoyance,"")
newName
将等于 Exemplar Example, The-01.ex
内层的Replace
会根据你的格式替换-
字符,外层的会把烦人的字替换成空。 Trim
将删除尾随 space.
编辑:
如果只想替换字符串的一次出现,请使用以下内容:
newName = Replace(Replace(f,"-",", " + Trim(annoyance) + "-"),annoyance,"",1,1)
有关 Replace
函数的更多信息,请参阅 here。
所以我的上下文是我有多个文件夹,里面装满了按字母顺序排序的文件。现在,在英语世界中有一篇名为 "the" 的令人讨厌的小文章,它不是很重要,并且会影响您的自动排序。现在我想做的是将 "the" 移动到文件名的末尾,但在我的后缀之一(例如 -01、-02)之前,因为多个文件具有相同的名称但版本不同。所以像这样:
"The Exemplar Example-01.ex" --> "Exemplar Example, The-01.ex"
所以我转向 VisualBasic Script (VBS) 并通过搜索 Google 接近我想要的东西,但无法得到我想要的东西。这是我的脚本:
private directfold
directfold=InputBox("Please specify a directory path:")
MsgBox("The folder to be 'de-annnoyed' is: " & directfold)
public annoyance
annoyance = "the"
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(directfold)
For each file In folder.Files
If instr(file.name, searchFileName) = 1 Then
file.name = renameFileTo
所以在脚本的底部你可能会发现 "renameFileTo" 命令没有给出任何参数,因为我不想重命名整个文件,我想 "move around" 文件名的一部分,如果文件名的那部分匹配 "annoyance" 字符串 ("the")。那么经过我漫长的漫游,有人可以帮助我吗?
您可能想让烦人的词包含尾随 space,这样 "They" 或 "Theme" 等名称就不会触发它。
如果末尾的分隔符始终是 -
并且是该字符在字符串中的唯一实例,则可以使用 Replace
来替换字符串。像这样
annoyance = "The "
f = "The Exemplar Example-01.ex"
newName = Replace(Replace(f,"-",", " + Trim(annoyance) + "-"),annoyance,"")
newName
将等于 Exemplar Example, The-01.ex
内层的Replace
会根据你的格式替换-
字符,外层的会把烦人的字替换成空。 Trim
将删除尾随 space.
编辑: 如果只想替换字符串的一次出现,请使用以下内容:
newName = Replace(Replace(f,"-",", " + Trim(annoyance) + "-"),annoyance,"",1,1)
有关 Replace
函数的更多信息,请参阅 here。