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

以下ことができるソフトを2000ポイントで作成して頂くことはできるでしょうか?一括で大量(1万数千件)のhtmlファイルのファイル名をタイトル名(<title>タイトル名</title>)に変換するようにしたいです。
ファイル名が同じになる場合は、(2)(3)…のようにして下さい。一番使いやすいソフトに2000ポイントとさせて下さい。最低でも15日午後6時まで待ちます。その前に締め切ることはありませんので宜しくお願いいたします。

●質問者: powan
●カテゴリ:コンピュータ
✍キーワード:HTML ソフト タイトル ファイル ポイント
○ 状態 :終了
└ 回答数 : 8/8件

▽最新の回答へ

1 ● ito-yu
●0ポイント

http://e-words.jp/w/OS.html

OSとは 【オペレーティングシステム】 (Operating System) ─ 意味・解説 : IT用語辞典 e-Words

※これは解答ではなく、準備のための質問です

あなたの作業環境を教えてください。

1. OSは何ですか?Windowsですか?Linuxですか?それともMacOSX?

2. htmlはどこに有りますか?ローカルのHDD(やCD)の中?それとも別のサーバ上?

3. htmlが置いてある場所以外に、書き込み権限のある作業用ディレクトリは用意できますか?

◎質問者からの返答

1 windowsxp

2 hdd

3 すいません。どういった意味かこちらの知識不足でわかりません。


2 ● fslasht
●0ポイント

http://www.dokokano.net/~fslasht/warehouse/misc/change_filename_...

ご希望のソフトを作ってみました。

↑のURLからダウンロードできます。(ファイル名は、change_filename_to_html_title.exe)


実行すると、ダイアログが開きますので、ここにファイル名を変更したいファイルをドロップしてください。(複数のファイルをまとめてドロップできます)

ドロップしたファイルのファイル名を<title>タグにしたがって変更します。(同一ファイル名になる場合は、(2),(3)とファイル名の後ろにつけます)


【制限事項】

・OSは、Windows2000またはWindowsXP

・タイトル名は、次の形式でかならず1行で閉じている必要があります。

a) <title>タイトル</title>

b) <TITLE>タイトル</TITLE>

※ タグの大文字小文字は混在できない

・拡張子は、もとのファイル名にかかわらず「html」固定となる

・サブディレクトリ内は処理しません。

ただし次の手順で回避できます。

1) 処理したいファイルの格納されたフォルダを右クリックして、「検索(E)...」を選択

2) 検索条件を入れずに、「検索開始(S)」ボタンを押す

3) 表示された検索結果を全て選択し、このソフトにドロップする。


【注意事項】

本ソフトを使用したことによって生じたいかなる障害についても、弊社はその保障義務を一切負わないものとします。

重要なファイルは必ずバックアップを取った上でご使用ください。


(↑いちおうお約束なので…)

◎質問者からの返答

ありがとうございます。あとで確認させて頂きます。サブディレクトリ内も処理できるように(できれば選択で)して頂けるとありがたいです。


3 ● tame_chi
●0ポイント

http://www.yahoo.co.jp/

Yahoo! JAPAN

出来ました どうしましょうか?

◎質問者からの返答

問題なければ、どこかのhp上でダウンロードできるようにしていただければ、助かります。


4 ● akibare
●280ポイント

http://dummy/

URLはダミーです。これくらいの処理はスクリプトでやっちゃいましょう!コードの修正が簡単、何もダウンロードしなくても良い、処理が透明、と良いことだらけです。


使い方は、下記のスクリプトをコピー⇒メモ帳を起動⇒ペースト⇒[編集-置換]で、全角”から半角”に全部置換⇒同様に全角¥を半角¥に置換⇒source_folder変数を修正⇒hoge.jsに保存⇒hoge.jsをダブルクリック⇒終わり


// 特定フォルダのファイル名をファイルの<title>.htmlに変更すスクリプト

// * <title></title>は同一行になければなりません(残念ながら)

// * サブフォルダに対しても繰り返し実行します

// * ファイル名に使えない文字列 (¥ | / : ? ” < > *)は消去されます

// * 実行したいフォルダをvar source_folder = の所で指定してください

// * 実行するには、このスクリプトを適当な名前.js(例:title2fname.js)に変更して

// ファイルをダブルクリックしてください


var source_folder = ”C:¥html”

var fso = new ActiveXObject(”Scripting.FileSystemObject”);

var folder = fso.GetFolder(source_folder);


// まずトップフォルダを処理する

title2filename(folder);


function title2filename(folder)

{

// フォルダの中のファイル全部に対して実行

var fc = new Enumerator(folder.files);

for (; !fc.atEnd(); fc.moveNext())

{

var f = fc.item();

var file = fso.OpenTextFile(f.path);


// ファイルの最後まで繰り返す

while (!file.AtEndOfStream)

{

// 一行読み込む

var line = file.ReadLine();


// 正規表現でタイトルを検索

var title = line.match(/<title>(.*)<¥/title>/i);

if (title)

{

// 見つかったら禁止文字列を消去

title = title[1].replace(/[¥?¥/¥¥:><¥*¥|]/g, ””);


// ファイル名を変える前にファイルを閉じないとね

file.close();


// ファイル名が重複しなくなるまで繰り返す

var prefix = f.ParentFolder.path + ”¥¥”;

var new_f = prefix + title + ”.html”;

for(i = 1; fso.FileExists(new_f); i++)

{

new_f = prefix + title + ”(” + i + ”)” + ”.html”;

}


// ファイル名を変更!

fso.MoveFile(f.path, new_f);

break;

}

}

}


// サブフォルダを同様に処理する

var sfc = new Enumerator(folder.subfolders);

for (; !sfc.atEnd(); sfc.moveNext())

{

title2filename(sfc.item());

}

}

◎質問者からの返答

ありがとうございます。


5 ● goldman
●280ポイント

http://hp.vector.co.jp/authors/VA015622/chgnam/chgnam.exe

いろいろ、出揃いましたね?。

私のは、使い方は簡単です。


機能:


指定されたディレクトリ配下のすべてのhtmの拡張子を持つファイルから

titleを検索し、タイトル名を取得しタイトル名をファイル名に変更する。

※:HTM HTML htm html の拡張子を持つファイルが対象


使い方:


CHGNAM.EXE HTMLの格納されたディレクトリ名


例)C:¥TEMPのサブディレクリのすべてのサブフォルダのHTMファイルの

名称を変更する。


chgnam c:¥temp


以上です。


【制限事項】


・OSは、Windows2000またはWindowsXP 95/98/ME すべてOK!


・タイトル名は、基本1行で完結している必要があるが、空白が前後にあっても

自動でトリムして、ファイル名を作成する。

・タグの大文字小文字は混在できる。

・拡張子は、もとのファイル名にかかわらず「html」固定となる

・サブディレクトリ内は処理できます。


さて、みなさんの腕前拝見といきましょうか。

◎質問者からの返答

ありがとうございます。


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


●質問をもっと探す●



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