アプリ版:「スタンプのみでお礼する」機能のリリースについて

ファイルの一括変換ソフトを探しています。

001
002
003

というフォルダにそれぞれ「index.html」のファイルが
保存されているとします。

「index.html」に特定の文字列(例えば、「XYZ」)を検索して
フォルダごとに違う文字列を置換することの出来るソフトです。

001のフォルダの中のindex.html XYZ→AAA にそれぞれ置換
002のフォルダの中のindex.html XYZ→BBB にそれぞれ置換
003のフォルダの中のindex.html XYZ→CCC にそれぞれ置換

上記のように一括変換できるツール、または方法を
ご存じの方は教えて頂けませんか。

過去ログや検索エンジンで調べてみたのですが
見つけることが出来ませんでした。

OSはXPのSP2です。
宜しくお願い致します。

A 回答 (2件)

001がAAAにというのは どういう関係で どのように指定しますか


置換の条件をおしえてください
階層は 1階層だけでしょうか 必ず1つでしょうか
http://www.officetanaka.net/excel/vba/filesystem …
http://www.officetanaka.net/excel/vba/filesystem …

この回答への補足

>001がAAAにというのは どういう関係で どのように指定しますか

この説明であっているか分からないのですが

001フォルダの中のindex.html内にある「ダイエット」を全て「簡単ダイエット」に変換 
002フォルダの中のindex.html内にある「ダイエット」を全て「ダイエット 日記」に変換 
003フォルダの中のindex.html内にある「ダイエット」を全て「ダイエット レシピ」に変換 

という感じで複数選択して一括で置換したいと思っております。

階層は1階層だけです。必ず1階層だけになります。
宜しくお願い致します。

補足日時:2007/11/11 10:41
    • good
    • 0

デスクトップ版です






'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
FileExt = "index.html" '←名前を指定してください(半角小文字)
myWORD1 = "ダイエット"
'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Set myWSH = CreateObject("WScript.Shell")
myDSKTOP = myWSH.SpecialFolders("Desktop")
Set myWSH = Nothing
myWKFLD = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
Set mySh = CreateObject("Shell.Application")
Set myPath = mySh.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, myDSKTOP)
If myPath Is Nothing Then WScript.Quit
myFLD = myPath.Items.Item.Path
Set mySh = Nothing : Set myPath = Nothing

Set myFS = CreateObject("Scripting.FileSystemObject")
For Each mySUBFLD In myFS.GetFolder(myFLD).SubFolders
For Each myCSV In myFS.GetFolder(mySUBFLD).Files
If LCase(myFS.GetFile(myCSV).Name) = FileExt Then
myWORD2 = myWORD1
'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
Select Case myFS.GetFolder(mySUBFLD).Name
Case "001" : myWORD2 = "簡単ダイエット"
Case "002" : myWORD2 = "ダイエット 日記"
Case "003" : myWORD2 = "ダイエット レシピ"
End Select
'■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
If myWORD2 <> myWORD1 Then
Set myRF = myFS.GetFile(myCSV).OpenAsTextStream(1)
myTMP = myFS.GetTempName
Set myWF = myFS.OpenTextFile(myWKFLD & "\" & myTMP, 8, True)
myWF.WriteLine Replace(myRF.ReadAll, myWORD1, myWORD2)
myRF.Close : myWF.Close
myTIME = Year(Now) & "_" & Month(Now) & "_" & Day(Now) & "_" & Hour(Now) & "_" & Minute(Now) & "_" & Second(Now)
'myFS.GetFile(myCSV).Name = "元" & myTIME & myFS.GetFile(myCSV).Name
myFS.GetFile(myCSV).Delete
myFS.GetFile(myWKFLD & "\" & myTMP).Name = FileExt
myFS.GetFile(myWKFLD & "\" & FileExt).Move mySUBFLD & "\"
End If
End If
Next
Next
Set myRF = Nothing : Set myWF = Nothing : Set myFS = Nothing
Msgbox "完了"
    • good
    • 0
この回答へのお礼

迅速な対応ありがとうございます。
これでだいぶ作業が楽になりました。

私ひとりのために丁寧に対応して頂いて感謝しております。

お礼日時:2007/11/11 17:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!