掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイの条件上書き (ID:110382)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
それは、VB6でですか?VB.NETでですか? VB6の方法で統一もできますが、VB.NETとで 全く方法(労力)が違うのですが・・・ VB6でなら、こんなコードでしょう・・・ ただし、大量に.TXTファイルがあった場合、この方法では 保障できない場合があります。 ※ こちらの環境に合わせて書きましたので、お使いの環境 にあわせて修正して下さい。コメントは入れました。 Private Sub Convert() Dim szName As String Dim szDir As String Dim szTemp As String Dim iIn As Integer Dim iOut As Integer Dim sz As String Dim dt() As String Dim i As Integer Dim iU As Integer ' *.TXTファイルを検索するパス設定 ' szDir = "C:\Documents and Settings\" szDir = App.Path + IIf(Right$(App.Path, 1) <> "\", "\", "") ' *.TXTをサーチする szName = Dir$(szDir + "*.txt") While szName <> "" ' 読み込むファイルを開く iIn = FreeFile Open szDir + szName For Input As #iIn ' 書き出す一時ファイルを開く szTemp = szDir + "Temp.tmp" iOut = FreeFile Open szTemp For Output As #iOut While Not EOF(iIn) ' 読み込むファイルから1行づつ読み込む Line Input #iIn, sz ' 区切り記号で、パスから切り出す dt = Split(sz, "\") ' 要素数を取得する iU = UBound(dt) ' パスとして要素があるか? If iU > 0 Then ' .JPGと言う文字列を検索する ' ただし、大文字で比較させる If InStr(UCase$(dt(iU)), ".JPG") > 0 Then ' あった! For i = 0 To iU ' 一時ファイルに書き出す Print #iOut, dt(i); If i <> iU Then Print #iOut, "\"; Else Print #iOut, End If Next i End If End If Wend Close #iOut Close #iIn ' 元ファイルを削除する Kill szDir + szName ' 一時ファイルを、元ファイル名に置き換える Name szTemp As szDir + szName ' まだ*.TXTファイルが無いか検索する szName = Dir$ Wend End Sub 以上。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.