人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

vbsの質問です
hoge フォルダの中に
hoge
|-01
|-02
|-03
|-04
|-・
|-・
|-・
と数字の連番の名前がついたフォルダが入っています
その各数字フォルダの中にa.htmlが入っています。
その各a.htmlの中の 末尾にある同じ文章をぶち込みたいです
その場合どの様にvbsを組めばよろしいでしょうか、教えてください。
よろしくお願いします。

●質問者: fashudifhajs
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●300ポイント ベストアンサー

こんな感じになります。

targetFolderName = "D:\test\hoge"  ' ※ hoge フォルダのパス

Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set targetFolder = fs.getFolder(targetFolderName)
For Each folder In targetFolder.SubFolders
 For Each f In folder.Files
 If f.Name = "a.html" Then
 Set target = fs.OpenTextFile(f.Path, 8)  ' for append

 target.WriteLine "----------------"
 target.WriteLine "追加する文章"
 target.WriteLine "----------------"

 target.Close

 End If
 Next
Next




追記です。

すみません、UTF8のテキストファイルに書き込んだら
追加する文章 という文字が文字化けしてしまいました
文字化けせずにするにはどうすればいいでしょうか?

UTF-8 の場合には、以下のようにしてください。

Set ado = WScript.CreateObject("adodb.stream")
ado.Type = 2
ado.Charset = "UTF-8"

Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set targetFolder = fs.getFolder(targetFolderName)
For Each folder In targetFolder.SubFolders
 For Each f In folder.Files
 If f.Name = "a.html" Then

 ado.Open
 ado.LoadFromFile f.Path
 txt = ado.ReadText
 ado.Close

 ado.Open
 ado.Position = 0
 ado.WriteText txt
 ado.WriteText "----------------" & vbCrLf
 ado.WriteText "追加する文章" & vbCrLf
 ado.WriteText "----------------" & vbCrLf
 ado.SaveToFile f.Path, 2
 ado.Close

 End If
 Next
Next

Set ado = Nothing

fashudifhajsさんのコメント
すみません、UTF8のテキストファイルに書き込んだら 追加する文章 という文字が文字化けしてしまいました 文字化けせずにするにはどうすればいいでしょうか?

a-kuma3さんのコメント
回答に追記しました。

fashudifhajsさんのコメント
ありがとうございました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ