我有一个目录中有很多需要重命名的文件。对于每个文件,我需要获取文件名的前三个字符,并将它们移到文件名的末尾,然后再放到扩展名前。 所以003999999.wav会变成999999003.wav。将脚本的前3个字符移动到末尾的脚本
脚本语言并不重要。它只需要在Windows中工作。这似乎是一个简单的脚本使用VBScript,我目前正在读一些东西,但我想知道是否有人已经有这样的工作。
编辑 - 所以我想我已经找到了如何做到这一点,除了获取文件名字符的部分。这是我的。
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Directory")
For Each strFile in objFolder.Files
arrNames = Split(strFile.Name, ".")
If arrNames(1) = "mp3" Then
Set objstart = objFSO.Range(0,3)
Set objend = objFSO.Range(4,17)
strNewName = "C:\Directory\" & objend.Text & objstart.Text & ".mp3"
objFSO.MoveFile strFile.Path, strNewName
End If
Next
你做什么,如果已被使用做名字? – stark
这绝对不会是一个基于这些文件最初如何获取其名称的问题。但是,因为我知道这是不好的做法,只希望它永远不会发生,如果发生这种情况,我会在文件名的末尾添加(1),(2),(3)。因此,如果999999003.wav存在,请使用999999003(1).wav。 但实际上,它永远不会是一个问题。 – barry
你可以使用Scripting.FileSystemObject.GetExtensionName作为文件扩展名(wav,mp3) –