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

以下の条件にあうソフトを探しています。

※指定したフォルダ以下の、ある指定したファイル拡張子をすべて探し出す。
※さらにそのファイル内に存在する言葉を指定した言葉に置き換える。
※言葉を指定する場合に正規表現を使うことが出来る。

以上の条件にあうソフトを探しています。
有料でもかまいません、よろしくお願い致します。


●質問者: zachouR
●カテゴリ:インターネット ウェブ制作
✍キーワード:ソフト ファイル フォルダ 存在 拡張子
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● chuken_kenkou
●27ポイント

「秀丸」はいかがでしょうか?

高機能のテキストエディタとして、かなり有名です。

http://hide.maruo.co.jp/


2 ● Mook
●27ポイント

フリーソフトのものですが、下記はどうでしょうか。

Grep and Replace


ファイル名の名前に 「*.捜したい拡張子」、含まれる文字列、探す場所を入力して検索し、

置換したい文字列を入れて、置換を実行することで希望される処理が出来る戸思います。


3 ● llusall
●26ポイント

1.以下のスクリプトをメモ帳などで[一括置換.vbs]などの名称で、デスクトップあたりに保存します。

2.■の部分を修正します。

3.ダブルクリックで実行されます。

Option Explicit

Const EXT = "txt" '小文字           '■対象ファイルの拡張子

Const TARGET_FOLDER = "D:\WSH"      '■対象フォルダ

Const REG_IGNORECASE = False        '■大文字小文字の区別を無効

Const REG_PATTERN = "置換前"        '■正規表現のパターン

Const REPLACE_TEXT = "置換後"       '■置換後の文字列

Dim objFSO, objFolder

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

Set objFolder = objFSO.GetFolder(TARGET_FOLDER)

Call ReplaceFiles(objFolder)

MsgBox "おしまい"

Sub ReplaceFiles(objFolder)

    Dim objFile, objSubFolder

    For Each objFile In objFolder.Files

        If EXT = GetFileExt(objFile.Path) Then

            Call ReplaceFile(objFile.Path)

        End If

    Next

    For Each objSubFolder In objFolder.SubFolders

        Call ReplaceFiles(objSubFolder)

    Next

End Sub

Sub ReplaceFile(ByVal fileName)

    Const ForReading = 1

    Const ForWriting = 2

    Const ForAppending = 8

    Dim f1, f2, strData, file

    Set f1 = objFSO.OpenTextFile(fileName,ForReading)

    Set f2 = objFSO.CreateTextFile( fileName & ".tmp", True )

    strData = f1.ReadAll

    Dim oRe, oMatch, oMatches

    Set oRe = WScript.CreateObject("VBScript.RegExp")

    With oRe

        .Global = True

        .IgnoreCase = REG_IGNORECASE

    End With

    oRe.Pattern = REG_PATTERN

    strData = oRe.Replace( strData, REPLACE_TEXT)

    f2.Write(strData)

    f1.Close

    f2.Close

    Set f1 = Nothing

    Set f2 = Nothing

    objFSO.DeleteFile(fileName)

    Set file = objFSO.GetFile(fileName & ".tmp")

    file.Name = objFSO.GetFileName(fileName)

End Sub

Function GetFileExt(ByVal sPath)

    Dim sFileExt

    sFileExt = objFSO.GetExtensionName(sPath)

    GetFileExt = LCase(sFileExt)

End Function

※VBScriptの正規表現のパターンはこちらを参考にしてください。

http://www.microsoft.com/japan/msdn/columns/scripting/scripting0...

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja...


4 ● arousan
●10ポイント

http://www.sirmiles.com/software/repl_ace.htm

Repl-Ace(リプル・エース)

Web制作の業務で自分も使っていますが、こういうことでしょうか。

ワイルドカードも使えますし、サブフォルダも検索対象に出来ます。

関連質問


●質問をもっと探す●



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