【ソ フ ト名】 BetterFilename Ver.1.01

【登 録 名】  BFN101.EXE(1.5MB) ダウンロード

【著作権者 】 T.Ota tetsu.ota@nifty.ne.jp
        http://www.vector.co.jp/authors/VA010310/

【対応 機種】 Windows 95/98/Me, WindowsNT/2000 or later

【ソフトウェア種別】 無料ソフトウェア

【配布 条件】 下に掲載


【ソフト紹介】

概要 用途 インストール アンインストール 使い方 Jolietについて

ファイル名短縮機能 半角空白処理機能 ログ 履歴 著作権など

●概要

 ファイル名を変更するソフトウェアです。(かなり高速に処理します)

 ファイル名短縮機能(オプションあり)と、

 半角処理機能

 (1つもしくは複数の半角空白" "を1つのアンダースコア"_"に置き換える)

 の一方または両方を選択できます。

●用途

 CD-Rに(Joliet形式で)書き込み可能にするために使えます。

 CD-Rには64文字以内のファイルしか書き込めません。(一般的なJoliet形式で)

 また、Windowsではファイル名として255文字が扱えると言われていますが、

 実際は150文字以上ある場合や、半角空白がたくさんある場合や、

 ファイル名が半角空白で始まる場合には、

 コピーする際などに(青い画面を表示してフリーズするなど)

 いろいろと問題を起こすようです。(特に奥深まった場所のファイルで)

 Bill G.さんは直す予定ではないようですので自分で対処しましょう。

●インストール

 一時的ファイル解凍先のsetup.exeを実行させてください。

 その後、スタートメニューに「BetterFilename」が追加されているはずです。

 VisualBasic 6 ランタイムファイル群もともに

 BetterFN.exe, BetterFilename.htm, BetterFilename.txtがインストールされます。

 VisualBasic 6 ランタイムファイル群がない配布ファイルの場合で、

 BetterFN.exe実行時にその旨指摘された場合は

 VisualBasic 6 ランタイムファイル群を別の無料ソフトウェアなどから入手して

 セットアップしてください。

●アンインストール

 コントロールパネルの[アプリケーションの追加と削除]で

 アンインストールを行ってください。

 レジストリの項目まで消したければ、

 レジストリエディタ(regedit.exe)で、BetterFilenameの文字列を検索し、

 そのデータを削除してください。

●使い方

 処理するフォルダを指定した後、オプションを選んで

 「開始」ボタンを押します。

 選択したフォルダとその下のフォルダ全部に対して処理を行います。

 (C:\の処理はフォルダが多く、極端に時間がかかりますのでひかえましょう。)

 ネットワーク上の他のコンピュータについては

 ドライブを割り当てて使ってください。

●Jolietについて

 CD−R作成時などでCDにファイルを書き込む形式で、

 ファイル名として64文字までしか許されません。

 CD−R書き込みソフトでチェックされるはずです。

 なお、CDにはUnicode形式でファイル名を格納するために

 半角文字も全角文字も1文字と数えます。

 詳しくはhttp://yougo.ascii24.com/などを参照してください。

●64文字以内にファイル名を短縮する機能−1

 (「先頭ではなく両端の文字を使うオプション」なしの場合)

 65文字以上の「ファイル名」+"."+「拡張子(3文字)」の場合、

   「ファイル名」の最初の56文字+"."+「拡張子」

 の60文字のファイル名に短縮されます。(64文字ではありません)

  ただし、もし同じフォルダに同じファイル名のファイルが既に存在する場合は、

  「ファイル名」+"^"+数字(2〜)+"."+「拡張子」

  として、既存のファイルを上書きすることを防ぎます。

 (例えば、〜〜〜〜^2.htm、〜〜〜〜^3.htmのようなファイルです)

  数字部分は1ずつ増分します

  したがって、同じファイル名となるファイルが1000個以上ある場合は

  ファイル名が64文字を越えます。

  (こういう場合はまずないと思います。っていうか..良くないと思います。)

 Hidden属性のファイルは対象内ですがSystem属性のファイルは対象外です。

 どうしても実行する必要がある場合は、attrib -s c:\jpo

 のようなコマンドを実行してSystem属性を解除しておいてください。

●64文字以内にファイル名を短縮する機能−2

 (「先頭ではなく両端の文字を使うオプション」ありの場合)

 65文字以上の「ファイル名」+"."+「拡張子」の場合、

   「ファイル名」の最初の27文字 +

    "__"(アンダースコア2つ) +

   「ファイル名」の最後の27文字 +

    "."+「拡張子」

 の60文字のファイル名に短縮されます。(64文字ではありません)

 先頭の文字だけでは同じファイル名のファイルが存在する可能性が高い場合に使えます。

 同じフォルダに同じファイル名のファイルが既に存在する場合の扱いは上と同様です。

●半角空白処理機能

 1つもしくは複数の半角空白" "を1つのアンダースコア"_"に置き換えます。

 半角空白がファイル名に存在するファイルはWindowsや特定のソフトウェアにおいて

 致命的なエラーを引き起こすことがあるようです。

 (一部のコマンドラインツールでは扱えないものもあります。)

●コマンドラインオプション

 BetterFN.exe "[フォルダ]"として起動すると[フォルダ]の処理をした後に

 自動的に終了します。

 例えば、ショートカットのリンク先として

 BetterFN.exe C:\JPO

 と指定しておくと、C:\JPO以下のフォルダを処理した後に自動的に終了します。

 各機能、オプションは前回起動時のオプションが使われます。

●ログ

 BetterFN.exeをインストールしたフォルダに変更の履歴を保存する

 ログファイル(形式:FNAMECHG-年-月.log)を生成します。

 元のファイル名を知りたい場合などに役立ちます。

●履歴

 1999/4/19 PatentTools Ver.1.00公開

 (特許庁で出しているパソコン出願ソフトの出力ファイルを処理するために作りました。

 現在のバージョンでももちろんパソコン出願ソフトに有効です。)

 2001/9/24 BetterFilename(TM) Ver.1.01公開

 (一般用途で使えるようにするために、名称をBetterFilenameに変えて、

   ファイル名短縮機能を加える)

●著作権など

 本ソフトウェアは無料ソフトウェアです。使用は自己責任でお願いします。

 書籍掲載はサンプル誌送付が条件です。

 内容を変更しないこととこのドキュメントを添付することと

 作者へメールで事前に知らせることを条件として

 商用利用・商用配布をしてもかまいません。

 最新情報は作者のホームページを参照してください。

 ご要望などはe-mailでお願いします。

 BetterFilenameTM  (c) 1999-2001 T. Ota

     e-mail:tetsu.ota@nifty.com

     http://www.vector.co.jp/authors/VA010310/


バックアップTips

日々更新される重要なファイル(データベースファイルなど)は、ファイル名に日付や時間を付加してバックアップしたいものです。
例えば、db1.mdb を 2002-12-13--18-30-db1.mdb というようにです。

今回は、Windowsのバッチファイルを使ってやる方法をご紹介します。

以下の内容のファイルををbackup.batという名前で保存してください。

echo off
for /f "Tokens=1-4 Delims=/ " %%i in ('date /t') do set dt=%%i-%%j-%%k-%%l
for /f "Tokens=1" %%i in ('time /t') do set tm=-%%i
set tm=%tm::=-%
set dtt=%dt%%tm%
xcopy \\server\database\db1.mdb F:\backup\database\%dtt%-db1.mdb /y

このbackup.batを実行すると(ダブルクリックしたりショートカットを実行したりして)、db1.mdb を 2002-12-13--18-30-db1.mdb というようにコピーすることができるようになります。ショートカットをタスクに登録すれば定期的に自動実行させることができます。

F:\backup\2002-12-13--18-30 のようなフォルダに、特定のフォルダの下のフォルダやファイルをすべてコピーするには以下のようにします。

echo off
for /f "Tokens=1-4 Delims=/ " %%i in ('date /t') do set dt=%%i-%%j-%%k-%%l
for /f "Tokens=1" %%i in ('time /t') do set tm=-%%i
set tm=%tm::=-%
set dtt=%dt%%tm%
F:
md F:\backup\%dtt%
xcopy \\server\database F:\backup\%dtt% /s /y

更新されたファイルのみコピーする場合には以下のように/dオプションをつけます(いわゆる差分コピー)。

echo off
xcopy \\server\database F:\backup\database /s /y /d /i

参考のため、XCOPYコマンドの説明を以下に貼り付けます。今回使ったオプション(/s /y /d /i)の説明部分は赤くしておきました。

XCOPY
ファイルとディレクトリ ツリーをコピーします。

XCOPY 送り側 [受け側] [/A | /M] [/D[:日付]] [/P] [/S [/E]] [/V] [/W]
[/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U]
[/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]
[/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...]

送り側 コピーするファイル (複数可) を指定します。
受け側 新しいファイルの位置や名前を指定します。
/A アーカイブ属性のファイルのみをコピーし、属性は変更しません。
/M アーカイブ属性のファイルのみをコピーし、アーカイブ属性を解除
します。
/D:月-日-年 指定された日付以降に変更されたファイルをコピーします。
日付が指定されなかったときは、送り側の日付が受け側の日付より
新しいファイルだけをコピーします。

/EXCLUDE:ファイル1[+ファイル2][+ファイル3]...
文字列を含むファイルの一覧を指定します。各文字列はファイルの
中で別の行でなければなりません。
文字列がコピーされるファイルの絶対パスの一部と一致した場合、
そのファイルはコピーから除外されます。たとえば、\obj\ を指
定するとディレクトリ obj の下のファイルはすべて除外されます。
.obj という文字列を指定すると .obj という拡張子のファイルは
すべて除外されます。
/P 受け側のファイルを作成する前に確認のメッセージを表示します。
/S 空の場合を除いて、ディレクトリとサブディレクトリをコピーします。
/E ディレクトリまたはサブディレクトリが空であってもコピーします。
/S /E と同じ意味です。/T と同時に指定できます。
/V 書き込んだ各ファイルを検証します。
/W キー入力があるまでコピー開始を待ちます。
/C エラーが発生してもコピーを続けます。
/I 受け側がなく複数のファイルをコピーする場合、受け側をディレク
トリとしてコピーします。

/Q コピー中ファイル名を表示しません。
/F コピー中送り側と受け側の全ファイル名を表示します。
/L コピーされるファイル名を表示します。
/G 暗号化をサポートしない受け側に、暗号化されたファイルをコピーす
ることを許可します。
/H 隠しファイルやシステム ファイルもコピーします。
/R 読み取り専用ファイルを上書きします。
/T ファイルはコピーせずにディレクトリのみを作成します。ディレク
トリまたはサブディレクトリが空の場合は除きます。/E と使用すれ
ばディレクトリやサブディレクトリが空でも作成されます。
/U 受け側に既に存在するファイルだけをコピーします。
/K 属性をコピーします。通常の XCOPY は読み取り専用属性を変更し
ます。
/N 生成された短い名前を使用してコピーします。
/O ファイルの所有権と ACL 情報をコピーします。
/X ファイルの監査設定をコピーします (/O を含む)。
/Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示
しません。

/-Y 受け側の既存のファイルを上書きする前に確認のメッセージを表示
します。
/Z 再起動可能モードでネットワーク ファイルをコピーします。

環境変数 COPYCMD にスイッチ /Y を設定できます。
これは、コマンド ラインの /-Y で無効になります。