VBScriptです。
以下の太字の部分を拡張子.vbsで保存・実行して下さい。
以下の太字の部分を拡張子.vbsで保存・実行して下さい。
' ----- ' SS2_TEXT.exe 補助スクリプト(20140921611) ' このVBScriptと同じフォルダーにある日本語ファイルを、順次 SS2_TEXT.exe に渡していくスクリプトです。 ' そのため、変換前の日本語データを保存したファイルの拡張子を .txt としてください。 ' 例として LEVEL02.STR の場合は、変換前の日本語ファイルを LEVEL02.txt で保存しますと、 ' SS2_TEXT.exe での変換時には、「SS2_TEXT.exe LEVEL02.txt LEVEL02.STR」の形で実行されます。 ' 変換後の .STR ファイルは、jp_converted フォルダーに保存されます。 ' 同じフォルダーに SS2_TEXT.exe を必要とし、 ' 変換後には、別途、.STR ファイルを strings.crf にまとめる手作業が必要となります。 ' ----- If vbCancel = MsgBox("スクリプトを開始します。" & vbNewLine & "SS2_TEXT.exe を実行しますか?", vbOkCancel) Then WScript.Quit ' CreateObject Set oWs = CreateObject("WScript.Shell") Set oFs = CreateObject("Scripting.FileSystemObject") sSS2t = "SS2_TEXT.exe " ' 変換プログラム名 sExtJPN = ".txt" ' 変換前の日本語データを保存したファイルの拡張子 sExtSTR = ".STR" ' 変換後ファイルの拡張子 sJpConvFolder = "jp_converted" ' 変換後のファイルを保存するフォルダー名。このスクリプトと同階層に作成される ' スクリプトの場所をカレントディレクトリとして設定 oWs.CurrentDirectory = Left(WScript.ScriptFullName, (Len(WScript.ScriptFullName) - Len(WScript.ScriptName))) ' SS2_TEXT.exeの存在有無を確認 If Not(oFs.FileExists(sSS2t)) Then MsgBox sSS2t & "が必要です。スクリプトを終了します。" WScript.Quit End If ' jp_convertedフォルダーが無ければ新規作成する If Not(oFs.FolderExists(sJpConvFolder)) Then oFs.CreateFolder(sJpConvFolder) End If ' フォルダー内の .txtのファイルを逐次 SS2_TEXT.exe へ渡していく Set oFileColle = oFs.GetFolder(oWs.CurrentDirectory).Files ' ファイルコレクションの生成 For Each oFile in oFileColle ' ループ開始 If LCase(Right(oFile.Name, Len(sExtJPN))) = sExtJPN Then ' 拡張子が.txtかどうか sConvdSTR = Left(oFile.Name, InStrRev(oFile.Name, ".") - 1 ) & sExtSTR ' 変換後の.STRファイル名を生成 oWs.Run sSS2t & oFile.Name & " " & sConvdSTR, 7, TRUE ' SS2_TEXT.exeへ渡すコマンドラインを生成、実行 If oFs.FileExists(sJpConvFolder & "\" & sConvdSTR) Then oFs.DeleteFile(sJpConvFolder & "\" & sConvdSTR) ' jp_convertedフォルダーに古い変換後ファイルが存在するならば削除する End If End If Next ' ループ終了 ' ファイルの削除と移動の間に、少しだけウェイトを置く ' 次のMoveFile実行時にエラーが出る時(もしくは、全ての.STRファイルがjp_convertedフォルダーに移動しきらない場合)には ' ここの数値を大きくしてみる WScript.Sleep(500) ' jp_convertedフォルダーに .STR ファイルを移動させる oFs.MoveFile "*.STR", sJpConvFolder & "\" MsgBox "スクリプトは全作業を終了しました。" WScript.Quit