一部、非公開の文字列を隠したいがために、作成してみました。
ファイルは、batファイルと、vbsファイルの2つ。
フォルダー階層を回すときに、batのほうが便利だったので。。。
まずは、ファイル内の文字列を置換するScript(replace.vbs)
第一引数がファイルパス、それ以降が置換する文字列...
Option Explicit
Dim objFileSys 'FileSystemオブジェクト
Dim strReadFile '置換ファイル
Dim strWriteFile
Dim objRead 'ファイルオブジェクト
Dim objWrite 'ファイルオブジェクト
Dim strRep,strRepBase
Dim strLine '読み込んだテキスト
Dim index 'ファイルループ
Set objFileSys = CreateObject("Scripting.FileSystemObject")
strReadFile = Wscript.Arguments(0)
Wscript.Echo strReadFile
strRepBase = "Reserved"
strWriteFile= objFileSys.BuildPath (objFileSys.GetParentFolderName (WScript.ScriptFullName), objFileSys.GetTempName ())
Set objRead =objFileSys.OpenTextFile(strReadFile,1,false)
Set objWrite=objFileSys.OpenTextFile(strWriteFile,2,true)
Do Until objRead.AtEndOfStream = true
strLine=objRead.ReadLine()
For index=1 To Wscript.Arguments.Count-1
strRep = strRepBase & CStr(index)
strLine = Replace(strLine, Wscript.Arguments(index), strRep)
Next
objWrite.WriteLine strLine
Loop
objRead.Close
objWrite.Close
objFileSys.DeleteFile strReadFile
objFileSys.MoveFile strWriteFile,strReadFile
Set objFileSys = Nothing
Set objRead = Nothing
Set objWrite = Nothing
for文で、.txtのファイルを古パスでvbsに渡します。
置換する文字列は、「秘密の言葉」、「内緒の言葉」、「見ちゃいや」です。
for /R %%A in (*.txt) do cscript replace.vbs "%%~fA" "秘密の言葉" "内緒の言葉" "見ちゃいや"
pause
0 件のコメント:
コメントを投稿