'########################################################### ' ' anchor_wavtrans.vbs ' 2008-05-31 na@10days.org ' ' スーパーアンカー英和辞典のEPWING化スクリプトに合わせ、 ' EBStudioで発音が収録できるようWAVファイルを4bit→8bitに変換。 ' '########################################################### Option Explicit ' 設定 - 適宜変更してください Const WAVEXT = "C:\usr\wavext102\wavext.exe" ' WavExtへのフルパス Const dirFROM = "C:\Program Files\Gakken\GDBase\Dic\SAEiwa\Snd" '変換元フォルダ Const dirTO = "D:\EPWING\ANCHOR\SND" '変換先フォルダ Call Main Sub Main() Dim subDirs, subDir Dim wavFiles, wavFile Dim destDir, destPath Dim fs: Set fs = CreateObject("Scripting.FileSystemObject") If (fs.FolderExists(dirFROM) = False) Or (ExistsFile(WAVEXT) = False) Then WScript.Echo "変換元フォルダまたはWavExtが見つかりません。" Exit Sub End If If MakeDestDir(dirTO) = False Then WScript.Echo "変換先フォルダが作成できません。" Exit Sub End If Set subDirs = fs.GetFolder(dirFROM).SubFolders For Each subDir In subDirs destDir = dirTo & "\" & subDir.Name If MakeDestDir(destDir) = True Then Set wavFiles = subDir.Files For Each wavFile In wavFiles destPath = destDir & "\" & wavFile.Name Call TransWav(wavFile.Path, destPath) Next End If Next WScript.Echo "終了しました。" End Sub Function ExistsFile(Dest) Dim flag: flag = False Dim fs: Set fs = CreateObject("Scripting.FileSystemObject") If fs.FileExists(Dest) = True Then flag = True End If ExistsFile = flag End Function Function MakeDestDir(Dest) Dim flag: flag = False Dim fs: Set fs = CreateObject("Scripting.FileSystemObject") If fs.FolderExists(Dest) = False Then On Error Resume Next fs.CreateFolder(Dest) If fs.FolderExists(Dest) = True Then flag = True End If On Error GoTo 0 Else flag = True End If MakeDestDir = flag End Function Sub TransWav(Src, Dest) Dim shell: Set shell = CreateObject("WScript.Shell") Dim exeString exeString = Chr(34) & WAVEXT & Chr(34) & " 1 11025 8 " exeString = exeString & Chr(34) & Src & Chr(34) & " " & Chr(34) & Dest & Chr(34) shell.Run exeString, 0, True End Sub