クエリを介してXMLファイルをSQLサーバーにロードしていますが、問題は、複数の名前空間の問題がある10x10テーブルがあることです。私はこれをいくつかのvbscriptで解決できると考えました、そしてこれまでのところこれは私が持っているコードです。
Dim FSO, FLD, FIL
Dim strFolder
strFolder = "C:\Documents and Settings\Administrator\Desktop\Tests"
Set FSO = CreateObject ("Scripting.FileSystemObject")
Set FLD = FSO.GetFolder (strFolder)
For Each FIL in FLD.Files
Set objFS = CreateObject("Scripting.FileSystemObject")
i=1
Set objFile = objFS.OpenTextFile(FIL)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
If i=1 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data1")
i=i+1
ElseIf i=2 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data1")
i=i+1
ElseIf i=3 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data2")
i=i+1
ElseIf i=4 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data2")
i=i+1
ElseIf i=5 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data3")
i=i+1
ElseIf i=6 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data3")
i=i+1
ElseIf i=7 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data4")
i=i+1
ElseIf i=8 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data4")
i=i+1
ElseIf i=9 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data5")
i=i+1
ElseIf i=10 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data5")
i=i+1
ElseIf i=11 and InStr(strLine,"Data")> 0 Then
strLine = Replace(strLine,"Data","Data6")
End If
WScript.Echo strLine
Loop
next
When I run this via command prompt:
cd c:\
cscript /nologo Script.vbs >newfile
ren newfile example.xml
保存されたファイルexample.xmlは完璧です。つまり、ifthenステートメントを含むスクリプトの中心部分が正しく機能します。ただし、「tests」フォルダに1つのファイルしか保存しない場合にのみ正しく機能します。複数のファイルを保存し、同じようにcmdを使用すると、これらすべてのファイルが連続して保存されます。これを行う必要のあるファイルは約3,000あります。私がやりたいのは、各.xmlファイルでスクリプトを実行し、同じ名前のnew.xmlとして(新しい場所に上書きして)保存することです。フォルダ。同じ名前で編集して保存するにはどうすればよいですか?
ご協力いただきありがとうございます