Как удалить часть имени файла с помощью vbscript - PullRequest
2 голосов
/ 14 октября 2019

У меня есть сотни имен файлов с - (тире) 0 (ноль), таких как V-45X-0892-0.pdf, V-45X-0893-0.pdf, и я хотел бы удалить -0 из имени файла.

Вот что у меня есть, но не работает.

folderspec = "C:\Dave\"
strRename = ""

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(folderspec)

For Each f1 In f.Files
    Filename = folderspec & f1.Name
    NewFilename = Replace(Filename, "%-0.pdf""%.pdf", strRename)
    fs.MoveFile Filename, NewFilename
Next

MsgBox "All Done"

1 Ответ

1 голос
/ 14 октября 2019

Вот код, основанный на вашем Вопросе с изменениями, внесенными в цикл For Each. Обратите внимание, что вам не нужно использовать MoveFile, вы можете просто обновить свойство файла Name напрямую:

Dim objFSO
Dim objFolder
Dim objFile
Dim sFolderSpec

sFolderSpec = "C:\Dave\"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sFolderSpec)

For Each objFile In objFolder.Files
    If InStr(objFile.Name, "-0") > 0 Then objFile.Name = Replace(objFile.Name, "-0", "")
Next

MsgBox "All Done"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...