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

VBSの質問です
aフォルダ
****************
a1.html
a2.html
a3.html
a4.html



a99.html
a100.html
****************
にはhtmlファイルが入っているのですが
このhtmlファイルをファイル名順に結合して
b.htmlにするスクリプトを教えて下さい
htmlファイルの数が変化しても対応できるようなスクリプトでお願いします

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

▽最新の回答へ

1 ● きゃづみぃ
●100ポイント ベストアンサー
Const InFolder = "C:\test\a"
Const OutFileName = "b.html"
Const ForReading = 1, ForWriting = 2
Dim fso, f, fc, fn, InFile, OutFile
Dim k
Dim tb()
Dim tb2()


Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(InFolder)
Set fc = f.Files
Set OutFile = fso.OpenTextFile(OutFileName, ForWriting, true)
k=0
For Each fn in fc
k=k+1
redim Preserve tb(k)
redim Preserve tb2(k)
a=instr(fn,".html")
b=left(fn,a-1)
tb(k)=right(b,len(b)-len(InFolder)-2)
if trim(tb(k))="" then tb(k)=0
tb(k)=cint(tb(k))
tb2(k)=fn
Next

for a=1 to k
for b=a to k
if tb(a)>tb(b) then
c=tb(a)
tb(a)=tb(b)
tb(b)=c
d=tb2(a)
tb2(a)=tb2(b)
tb2(b)=d
end if
next
next

for c=1 to k
Set InFile = fso.OpenTextFile(tb2(c), ForReading)
OutFile.Write(InFile.ReadAll())
InFile.Close()
next

OutFile.Close()


Const InFolder = "C:\test\a"

フォルダを変更してください。
a1.html?a???.html 形式のファイルのみソートできるように作成しました。
ほかの形式のhtmlファイルが含まれていた場合、正しくソートできなかったり
エラーとなる場合があります。


takaniiさんのコメント
ファイル名が abc1.html abc2.html abc3.html abc4.html ・ ・ ・ abc99.html abc100.html となってる場合はどこを変更すればいいのでしょうか?

きゃづみぃさんのコメント
新しい質問に回答しました。 abcのときは aaaを abcに変更してください。
関連質問

●質問をもっと探す●



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