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

あるフォルダ以下にあるすべてのテキストファイルの頭に
<!-- #include virtual="/include.inc" -->
と1行追加したいのですが、テキストファイルの数が500くらいあるので、1つ1つやると大変です。

何かよい方法、もしくは良いフリーソフトをご存知の方居ましたら、よろしくお願いします。

●質問者: yamazakiis
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:テキスト ファイル フォルダ フリーソフト
○ 状態 :終了
└ 回答数 : 8/8件

▽最新の回答へ

1 ● b-wind
●19ポイント

ここで紹介されているものなら大抵いけそうに思います。

Download: Windows > ユーティリティ > テキストファイル用 > テキスト変換

◎質問者からの返答

置換は出来るんですけど、ページの先頭となると出来るのありますか?

また、フォルダ以下をいっぺんにというもの。


2 ● b-wind
●19ポイント

とりあえず2つほどダウンロードしてみたけど出来そうですよ。

ファイルの検索・一括置換 Grep and Replace(Windows95/98/Me / ユーティリティ)

Greplace(Windows95/98/Me / ユーティリティ)

置換は出来るんですけど、ページの先頭となると出来るのありますか?

ページ先頭の1行にマッチ → 指定した文字列+元のページ先頭の一行

とかの置換をすれば出来るでしょう。

また特殊文字としてページ先頭そのものを現すコードを指定できるものもあるのでその場合上のような小細工は必要なく

ページ先頭 → 指定した文字列

の置換を行うだけです。


また、フォルダ以下をいっぺんにというもの。

少なくとも上記二つはサブフォルダを含むデータを一括で変換できます。

◎質問者からの返答

「ページ先頭の1行にマッチ」

ページ先頭の1行目は、ファイルによって異なるとしたら無理ですよねぇ。


「特殊文字としてページ先頭そのものを現すコードを指定できるもの」

この2つのソフトはできるのでしょうか?

出来るとしたら、そのコードは何ですか?


3 ● b-wind
●18ポイント

ページ先頭の1行目は、ファイルによって異なるとしたら無理ですよねぇ。

いえ、正規表現とか使えば出来ます。

特殊文字としてページ先頭そのものを現すコードを指定できるもの

たとえば Greplace なら、\A で文頭を表す。

◎質問者からの返答

正規表現を使う時は、どうなりますか?


4 ● beatgoeson
●18ポイント

Windowsならコマンドラインからcopyコマンドでテキストファイルを結合してはいかがでしょう。

(1) 挿入するテキストを作成。たとえば、insert.dat

insert.datの中身

------------------

<!-- #include virtual="/include.inc" -->

------------------

(2) 変換元のファイルがあるフォルダの下に afterというフォルダを作成

(3) conv.bat というバッチファイルを作成

この例では、*.txt を対象としてます。

conv.batの中身

------------------

for %%x in (*.txt) do (copy/b insert.dat+%%x after\%%x)

------------------

(5) conv.bat をコマンドラインから実行

(6) after 以下に変換されたファイルができる


5 ● llusall
●18ポイント

1.以下のスクリプトを[hoge.vbs]等の好きな名前で、デスクトップあたりに保存

2.Cドライブに、[できた]という名前でフォルダを作成

3.ファイルをアイコンにドラッグ&ドロップすればOK。

Option Explicit

Const FOLDER = "C:\できた" '■編集したファイルを入れる場所

Const ADD_HEADER_LINE = "<!-- #include virtual=""/include.inc"" -->" '■先頭に追加する文字

Call Main()

Sub Main()

    Dim objArgs

    Dim i

    Dim nArgCnt

    Dim bRtn

    Dim sResultFile, sPath

    Dim sFname

    Dim objFS, objTXT, objTXT2

    Dim strData

    Err.Clear

    'コマンドライン引数の有無チェック

    Set objArgs = WScript.Arguments

    nArgCnt = objArgs.Count

    If nArgCnt = 0 Then

        MsgBox "アイコンにファイルをドラッグ&ドロップしてください。", vbExclamation

        Exit Sub

    End If

    Set objFS   = CreateObject("Scripting.FileSystemObject")

    If objFS.FolderExists(FOLDER) Then

    Else

        objFS.CreateFolder (FOLDER)

    End If

    'ファイル数の処理を実行

    For i = 0 To nArgCnt -1

        sPath = objArgs(i)

        sFname = objFS.GetFileName(sPath)

        Set objTXT  = objFS.OpenTextFile( sPath, 1, False )

        Set objTXT2 = objFS.CreateTextFile( FOLDER & "\" & sFname , True )

        strData = objTXT.ReadAll

        objTXT2.WriteLine(ADD_HEADER_LINE)

        objTXT2.WriteLine(strData)

        objTXT.Close

        Set objTXT  = Nothing

        objTXT2.Close

        Set objTXT2 = Nothing

    Next

    MsgBox "おしまい。", vbInformation

End Sub

◎質問者からの返答

ファイルをD&Dしなければいけなさそうですね。

フォルダ以下の階層が複雑なので、ちょっと大変かも知れません。。


1-5件表示/8件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



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