VBSの質問です

aフォルダ
****************
a1.html
a2.html
a3.html
a4.html



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

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/03/05 22:30:06
  • 終了:2013/03/10 10:13:00

ベストアンサー

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982013/03/05 23:12:58

ポイント100pt
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ファイルが含まれていた場合、正しくソートできなかったり
エラーとなる場合があります。

id:takanii

ファイル名が
abc1.html
abc2.html
abc3.html
abc4.html



abc99.html
abc100.html

となってる場合はどこを変更すればいいのでしょうか?

2013/03/14 19:02:14
id:taknt

新しい質問に回答しました。

abcのときは aaaを abcに変更してください。

2013/03/15 15:11:34

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません