0

次の内容のファイルがあります

  aaaaaaaaa    filename1.txt
  bbbbbbbbbb   filename2.dat

このファイルを読み込んで、関連ファイルにデータを分けて保存したいです。

例:- aaaaa ---> filename1.txt

誰かがこれを行う方法を教えてもらえますか? 例を使って作業したことがあれば、それは本当に助けになるでしょう!

サブメイン

Set ctlpath = "\\Download_Directory\CA.ctl"
Set subDirectory = "AUB"
Set MkrExtention = ".mkr"

ReadCtl(ctlpath,subDirectory,MkrExtention )

End Sub

 Function ReadCtl(ctlFileName,ctlSubDirectory,MarkerFileExtension)

Const ForReading = 1
Const ForWriting = 2

Dim lineData,hashValue,fileName,fileToWrite

Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(ctlFileName) Then

Set objFile = objFSO.OpenTextFile(ctlFileName, ForReading)

Do Until objFile.AtEndOfStream

    lineData = objFile.ReadLine
    hashValue =Split(lineData,"  ") (0)
    fileName =Split(lineData,"  ") (1)

    WriteFileText("\\Download"+ctlSubDirectory+"
\"+fileName+MarkerFileExtension,hashValue)

Loop

objFile.Close
objFSO.Close

End If

ReadCtl = True

End Function

Function WriteFileText(sFilePath, sText)

Dim objFSO1 'As FileSystemObject
Dim objTextFile 'As Object

Set objFSO1 = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO1.CreateTextFile(sFilePath, True)

' Write hash data in to the file .mkr file
objTextFile.Write (sText)

objTextFile.Close
objFSO1.Close

 End Function
4

1 に答える 1

1

あなたがこれを尋ねてから長い間、誰も答えなかった私を驚かせます、十分に単純です。とにかく、参考のために、あなたがまだ周りにいることを願っています。これは、たとえばRubyのような実際のハッシュではありませんが、比較できるように十分なスクリプトを保持しています。

ReadCtl("file2hash1.txt")

function ReadCtl(ctlFileName)
  const ForReading = 1, ForWriting = 2, ForAppending = 8, createIfNeeded = true
  set oFso = createObject("Scripting.FileSystemObject")
  Set oRegExpre = new RegExp
  oRegExpre.Global = true
  oRegExpre.Pattern = "(.*) +(.*)"
  if oFso.FileExists(ctlFileName) then
    set objFileRead  = oFso.OpenTextFile(ctlFileName, ForReading)
    do until objFileRead.AtEndOfStream
      lineData = objFileRead.ReadLine
      hashValue = oRegExpre.Replace(lineData,"$1")
      fileName  = oRegExpre.Replace(lineData,"$2")
      if oFso.fileExists(fileName) then
        modus = ForAppending
      else
        modus = ForWriting
      end if
      set objFileWrite = oFso.OpenTextFile(fileName, modus, createIfNeeded)
      objFileWrite.writeLine hashValue
      objFileWrite.close
    loop
    objFileRead.close
  end if
  set oFso = nothing
end function
于 2012-06-01T15:10:21.067 に答える