У меня есть каталог, полный XML-архивов. Что-то вроде 400 XML, и мне нужно переименовать каждый из них с данными, которые присутствуют на них, используя VBScript.Переименование нескольких XML-файлов с использованием VBScript
Я сделал некоторый код, что функции, но все еще есть проблемы:
@EDIT -> решена. Я нашел функцию «Заменить». Спасибо, Эккехард!
- Некоторые из значений в узлах, которые я использую для переименования файла имеют недопустимые символы („/“, более точно), что делает VBScript не смог спасти его, возвращая „Путь не найден“. Как я могу изменить каждый «/» (если они существуют в настоящем Operadora, который предполагается в переменной) для каждого значения «Operadora», прежде чем использовать его для переименования файла? Я бы изменил его на «-».
Вот код:
Dim Caminho
Dim FSO
Dim FLD
Dim fil
Dim nomeErrado
Dim nomeCerto
Dim xmlDoc
Dim OrganisationInfo, Operadora, recentDate, resultOperadora
Set xmlDoc = CreateObject("Msxml2.DOMDocument.6.0") 'Msxml2.DOMDocument/Microsoft.XMLDOM
xmlDoc.Async = "False"
xmlDoc.setProperty "SelectionLanguage", "XPath"
Caminho = "C:\Users\f8057612\Desktop\Bancos\Script_Operadoras"
Set FSO = CreateObject("Scripting.FileSystemObject") 'Create the instance of the FSO
Set FLD = FSO.GetFolder(Caminho) 'Set the folder you want to search. NOTE - some antivirus may not like this
For Each fil in FLD.Files
If LCase(FSO.GetExtensionName(fil)) = "xml" Then
xmlDoc.Load fil.Path
nomeErrado = fil.Path
If xmlDoc.ParseError = 0 Then
For Each OrganisationInfo In xmlDoc.SelectNodes("//OrganisationInfo/OrganisationName")
Operadora = OrganisationInfo.Text
Next
resultOperadora = Replace(Operadora, "/", "-")
nomeCerto = "IR21 - " & resultOperadora & " - " & ".xml"
WScript.Echo "_" & nomeErrado & "_" & vbNewLine & "_" & nomeCerto & "_"
FSO.MoveFile nomeErrado, nomeCerto
End If
End If
Next
Set FLD = Nothing
Set FSO = Nothing
Строка 32, кажется, «End If». Можете ли вы пометить линию, пожалуйста? –