是否可以在文件名中移动字符串? (VisualBasic)

问题描述 投票:0回答:1

所以我的上下文是,我有多个文件夹,其中充满了按字母顺序排序的文件。现在,在英语世界中,有一个讨厌的小文章叫做“ the”,这不是很重要,它会使您自动分类。现在,我想做的就是将“ the”移动到文件名的末尾,但要在我的后缀之一(例如-01,-02)之前,因为多个文件的名称相同但版本不同。所以像这样:

““示例示例-01.ex”->“示例示例,The-01.ex”

因此,我转向VisualBasic脚本(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”命令没有给出任何参数,因为我不想重命名整个文件,我想“移动”文件名的一部分,如果该部分filename与“烦人”字符串(“ the”)匹配。因此,经过漫长的漫长跋涉,有人可以给我任何帮助吗?

vbscript ntfs
1个回答
0
投票

您可能希望使烦人的单词包含尾随空格,因此“它们”或“主题”等名称不会触发它。

如果结尾处的定界符始终为-,并且是字符串中字符的唯一实例,则可以使用Replace替换字符串。像这样的东西

annoyance = "The "
f = "The Exemplar Example-01.ex"
newName = Replace(Replace(f,"-",", " + Trim(annoyance) + "-"),annoyance,"")

[newName将等于Exemplar Example, The-01.ex

内部Replace将根据您设置其格式的方式替换-字符,外部将不使用任何内容替换烦人的单词。 Trim将删除尾随空格。

编辑:如果只想替换一次出现的字符串,请使用以下命令:

newName = Replace(Replace(f,"-",", " + Trim(annoyance) + "-"),annoyance,"",1,1)

关于here功能的更多信息,请参见Replace。>>

© www.soinside.com 2019 - 2024. All rights reserved.