使用截断的文件夹名称重命名文件名

时间:2016-07-10 09:33:55

标签: string vbscript scripting file-rename

我目前正在编写一个脚本,该脚本使用文件的完整路径作为文件名的前缀来重命名文件名。这适用于来自GetAbsolutePathName的{​​{1}}。我使用FileSystemObject函数和Right()删除了提示,将反斜杠替换为Replace()

到目前为止,一切运作良好。但是,为了避免由于长路径和许多子文件夹导致的文件名过长,我想在4个字符后截断文件名字符串中的每个文件名。我只是想知道最优雅的方式是什么。

识别所有-将它们保存在数组中的位置并制作一个计算截断位置的循环似乎有点复杂,我猜可能会慢一些。有谁知道有一个更优雅的想法?

1 个答案:

答案 0 :(得分:0)

执行所需操作的最简单方法是Split反斜杠的原始路径,使用Left函数将每个元素截断为4个字符的顶部,然后Join修改后的数组返回到一个字符串。

path = "Users\someuser\Documents"

arr = Split(path, "\")
For i=0 To UBound(arr)
  arr(i) = Left(arr(i), 4)
Next
prefix = Join(arr, "-")   'result: "User-some-Docu"

请注意FileSystemObject同时接受\/作为路径分隔符,因此首先将/规范化为\可能是个好主意。