同一ディレクトリ内のファイル

解決


まさ  2004-06-14 09:56:44  No: 83998  IP: [192.*.*.*]

お世話になります。

Aというディレクトリ内の同一拡張子(例えば「*.log」)のファイル(複数)を
全部読み込み、1つのファイルに書き込みをする方法を
御教授頂きたいと思います。

1つのファイルなら、そのパスを指定してやれば出来るのですが、、、
ご存知の方がいましたら、宜しくお願いします。

編集 削除
nanashi  2004-06-14 10:24:49  No: 83999  IP: [192.*.*.*]

Dir関数を使えば同一拡張のファイルを取得できます。

Private Sub Command1_Click()
    Dim sPath$, sFile As String
    
    sPath = "C:\A\"
    
    sFile = Dir$(sPath & "*.log")
    Do Until (Len(sFile) = 0)
        Debug.Print sPath & sFile
        sFile = Dir$()
    Loop
End Sub

編集 削除
Say  2004-06-14 10:39:55  No: 84000  IP: [192.*.*.*]

アーカイブしたい、ということなら
UNLHA32.dll あたりを利用すればいいでしょう。
http://www.madobe.net/archiver/index.html

アペンドしたい、ということなら
テキストファイルならAppendモードでオープンして
Print # すればいいでしょうし、
バイナリファイルならBinaryモードでオープンして
EOFまでSeekしてPut # すればいいでしょう。
(コマンドプロンプトから
C:\アペンド>TYPE c:\A\*.log >>c:\Result.log
としたほうが手っ取り早かったりしますので、
これをShell関数経由で発行する、という手もあります。)

編集 削除
ターボ  2004-06-14 11:01:11  No: 84001  IP: [192.*.*.*]

文面から、複数のファイルを一つのファイルにまとめたい、と解釈しました。
そのような例が↓にあるので参考に。
ソースもついているので、解析して切り取り、貼り付ければ可能かと・・・。

http://www.vector.co.jp/soft/win95/util/se233002.html

編集 削除
まさ  2004-06-14 18:16:54  No: 84002  IP: [192.*.*.*]

返信が遅くなり申し訳ございません。

無事解決いたしました。
nanashiさん、SAYさん、ターボさん有難うございます。

編集 削除