このページは、2019年3月に保存されたアーカイブです。最新の内容ではない場合がありますのでご注意ください

  --  Windowsのいろいろ   注意事項及び連絡先    ホームページ

Windowsのいろいろ

殆ど役に立たないwindowsの使い方

ファイルサイズ・日付・ファイル名 再実験 (2011.7)

ファイルサイズの上限は?

前回はWindowsエクスプローラー上で1.33EB (1,543,513,320,928,051,200byte)まで表示させてみた。 表示上の限界と思われる2^64byte (=16.0EB)まではもう少しだったが大量のファイルを作成には結構時間がかかり面倒である。

そこで今回は別の方法でやってみることにした。 よく考えれば、実際にファイルを作成する必要は無く、エクスプローラーに巨大なファイルがあると思わせれば済むことだ。 あり得ないファイルサイズを返すサーバーを用意して実験してみる。

webdavで接続した場合の結果。TBサイズのファイルを簡単に再現できる。更にサイズをPBまで増やしていくと表示上の単位が消えてしまった。 更にサイズをEBオーダーまで増やすと単位が「名前」になる。

NetDriveを使ってドライブ文字を割り当てた場合は表示が異なる。ファイルのプロパティではEBまで表示できるが、エクスプローラの一覧ではファイルサイズの部分が文字化けしてしまう。 プロパティでも、ファイルサイズの合計が2^63byteを超えると表示が怪しくなってくる。

コマンドプロンプトでは合計サイズ2^64まで表示されるが、それを超えるとオーバーフローしてしまう。


ファイル日付の限界

以前はdateコマンドによる日付の設定を試してみたが、このコマンドはどうやら 内部表現での時間が 0x2000000000000000 以上の場合NGとしているらしく、8907/12/06までしか日付の設定ができない。

そこで今回はファイルの日付を自由に変更出来るコマンドを用意した。 ダウンロード ソースコード(VC++用)

●使い方

下記の通り、日付・時間をUTCで指定する。 省略した項目は、現在のシステム時間が使われる。

filetime ファイル名 [年 [月 [日 [時 [分 [秒 [ミリ秒]]]]]]] 又は filetime ファイル名 0x... (1601/1/1 0:0:0 からの経過時間を100ns単位で計算し, 16進数で指定)

これで更新日付を1601年から30000年超まで自由に変更することが出来る。 現代からかけ離れた日付を設定すると、エクスプローラで表示されるファイルの更新時刻が空白になってしまう。

ファイルサイズはどこまで表現できるか? 2008-12

NTFSにはスパースファイルという仕組みがある。この機能の有効な使い道はここでは触れないので、別のページを参照のこと。

さて本機能を使うと見かけ上TB(テラバイト)サイズのファイルを簡単に、ディスク領域を消費せずに作成できる。 このファイルを同一ディレクトリに大量に配置すれば、フォルダのサイズ表示が非常に大きくなる。 試してみた結果が図の通り。EB(エクサバイト=1,000,000テラバイト)までは何とか表示することが出来た。

なお、試す場合は下記の点に注意

フォントについて(2) 2008-12

Windowsの日本語フォントの、画面上の表示を見やすくする、又、狭い画面を有効使うためのメモ

Meiryo 関係のフォントを使う

Windows Vistaには "Meiryo" というフォントが添付されているが, これは日本語フォントとしてはClearTypeに初めてまともに対応したものである。 以前は非常に見づらかった11~16ptの範囲での視認性が向上している。また新たなグリフも追加されており, 文字コード表などで見ていくと郵便番号マークが,7桁対応くん(正式名称は知らない)に変わっていたりする。 他にも丸囲み数字が50までになっていたり黒丸数字や二重丸囲みの数字なども入っている。(この辺は文字コードとして規定する必要があるのか疑問だが)

但しこの方法は、当然Meiryoがインストールされているパソコンのみで有効である。 従ってブラウザやエディタのフォントには使用できるが、ワープロや表計算で使用する文字については使用しない方が良い。 (そもそもMeiryoはプロポーショナルフォントなのでそのままではエディタでの使用には向いていない)。

※郵便番号マークが変わったのはMeiryoフォントで初めて知った。個人的には前のマークの方が見やすくて良かったと思う。

gdi++を使用する

文字描画APIの呼び出しを横取りして、windowsの代わりに見やすいフォントを描いてくれるというフリーソフト。 特殊なフォントを使うわけではないので、これを使った環境で作成した文書はそのまま他人に渡すことができる。 このソフトは派生したバージョンが色々とあるが、どれが一番良いかはよく分からない (gdi++ heliumか?)。 なお、ソフトによっては、表示の不具合発生や異常終了してしまうことがあるので注意。

メニューのカスタマイズ

アルファベットを使う言語圏のソフトを使ってみると分かるが、日本語のメニュー表示はかなり冗長である。 例えば英語のメニューがFileEdit ... (太字はショートカットキー) となっているのに対して、 日本語のメニューはショートカットキーを別に表現しなければならないため、ファイル(F) 編集(E) ... と倍近い幅となってしまっている。そこで下記の手順で無駄な領域を減らすことができる。

メニューのカスタマイズ機能があれば、例えば 'ファイル(&F)' となっている箇所を '&File' とする。 これを全項目に対して行うとメニューはかなりすっきりする。右側の開いたスペースにはよく使うアイコンを カスタマイズ機能を使って登録していく。逆にいらないアイコンはどんどん消していく。

英語が嫌いな方はローマ字でもフィンランド語でも何でも良いと思う。そういえばメニューを '&ファイル' とするとカナのショートカットキーが使えるのでそれでも良い。カナのショートカットは何故か仮名入力にしていなくても、漢字モードでなくても使用できる

強引にメモリ掃除 2006-2

注: この項の内容はあまりお薦めできません。

Windowsを一週間程ログオフせずに使用していると、何故か動きが重たくなってくる事がある。 その原因の一つがエクスプローラだ。 以下のコマンドは確実にexplorerのメモリを開放する。基本的に他のソフトへの影響は無いが、初心者の方にはあまりお勧めできない。 使用は自己責任でお願いしたい。(Windows XP 専用)

※administratorでないと駄目かも。その場合は, runas /user:コンピュータ名\administrator taskkill -f -im explorer.exe

※OSがWindowsNT, Windows2000の場合、killコマンドがインストールされていれば kill -f explorer でも良い。

taskkill -f -im explorer.exe

さて、このコマンドにより画面上のエクスプローラウインドウ、タスクバーが消え、動作が軽くなったはずだ。

シェルを使わないのであればこのままでも良いのだが、タスクバーを復活させたい場合は

explorer

これで元通り。タスクトレイのアイコンが数個行方不明になる事もあるが、気にしなければ問題ない。

注意: 動作が遅い原因がエクスプローラで無い場合は、効果はありません。

ところで、コマンドプロンプトから、エクスプローラをカレントディレクトリで起動する場合、以下の様に入力すると良い。

explorer/e,.

ソフトを黙らせる 2006-2

Windows上で動くソフトの殆どは、何もしていない時のCPUの負荷が低い。 しかし何もしていない状態でもCPUに負荷をかける良くないソフトも数多く出回っている。 単独で動かしている場合は影響は無いのだが、そのソフトでの作業を一時的に中断し、他のソフトで作業する場合に都合が悪い。 行儀が悪いソフトがCPUを使いまくっているせいで、他のソフトの動きが悪くなってしまうのだ。 このようなソフトはなるべく使用したくないのだが、仕事上避けられない場合もある。 以下の対策で、多少はある程度行儀が悪いソフトを黙らせることができる。

(1) 使用してない時、モーダルダイアログボックスを表示させる
具体的にはバージョン情報等を表示させる。意外に効果がある。

(2) タスクマネージャで優先度の設定を低にする
(1)で効果が無い場合でも有効であるが、使用している時の動きも遅くなることがある。推奨はできない。

漢字-ハングル変換 2006-2

韓国語版のOfficeソフトには 'Hanja Dictionary' が付いて来る。 部首別の漢字選択などが出来るところは日本語IMEと変わらないが、漢字の収録数が多い。 WordやExcelで漢字-ハングル変換等を行うことも出来るようになる。 ただ不便な事に、まとめて変換を行うことが出来ない。 そこで漢字->ハングル変換用のユーザー関数をVBAで作ってみた。

以下はExcel向けに書いたものだが、多分他のアプリのVBAでも動くんじゃないかと思う。 参照設定でHanja Dictionaryの選択が必要。

Public Function knj2hng(s As String) As String Dim a As New HanjaDic Dim r As String Dim i As Integer a.OpenMainDic For i = 1 To Len(s) r = r & k2hsub(a, Mid(s, i, 1)) Next k2h = r a.CloseMainDic End Function

Function k2hsub(a As HanjaDic, b As String) On Error GoTo aa k2hsub = a.HanjaToHangul(b) Exit Function aa: k2hsub = b End Function

ファイルストリームを使う

ファイルシステムの1つ、NTFSにはファイルに任意の属性を付加できる機能があったりする。 この機能について検索するとサンプルプログラム等色々と出てくるが、プログラムなど組む必要は無い。コマンドプロンプトでの操作で十分試すことが出来る。

まずは実験用のディレクトリ上にファイルを作成する。以下のコマンドでは "a.txt" というファイルが作成される。

echo abc > a.txt

次に "ファイル名:属性名" でファイルを作成する。以下の例では "txt" の拡張子を付加しているが、これは "メモ帳" で簡単に扱えるようにするため。

echo def > a.txt:b.txt

ここで "a.txt" を開くと先ほどリダイレクトした "abc" が関連したエディタで表示されるはず。今度はコマンドで以下のように入力してみよう。

notepad a.txt:b.txt

今度は2番目にリダイレクトした "def" がメモ帳で表示される。これがファイル "a.txt" の属性 "b.txt" の内容で、編集も可能。属性は複数、何個でも付加することができる。

属性の内容はテキストでなくても問題無い。ここでは"ペイント"を使用して試してみることにする。まず、メモ帳で "a.txt:b.txt" を開き、文字を全て消して空の状態にして上書き保存する。保存後、コマンドで以下のとおり入力する。


mspaint a.txt:b.txt

上手くいけばペイントが空白の状態で起動する。ここで適当な絵を描いて上書き保存すれば、問題なくビットマップデータが格納される。

以上のような要領で簡単にファイルストリームを扱うことができる。しかし今のところ、ファイルにどのような属性が付加されているのかを知る標準的な方法は無いので、注意しなければならない。遊びで大きな属性を付けたまま忘れてしまうと、無駄にディスク容量を消費することになる。

また、この方法はすべてのアプリケーションで通じるわけではなく、ワードやエクセルではファイル名異常として相手にしてくれない。比較的原始的なアプリケーションでのみ使えるようだ。ちなみにtruecryptでは使用可能なので隠し暗号化ボリュームなどを作成するのには使えそう。バックアップはWindows標準のパックアップツールやWinRARで行うことが出来る。

とんでも無い日付をセットする。

Windows XPのコマンドプロンプトでは、8907/12/06まで日付をセットできる。現在時刻によってはセット出来ない場合があるので, その場合は時刻を3:49以前にセットするとうまくいく。

ところで、ワードでファイルを開いた後に、日付を大きく進め、保存して閉じると "編集時間" がとても大きな値になる。

普通では使用できないファイル名を扱う

Windowsでは、通常の操作で "con" や "aux" というファイルを作成しようとしても "このファイル名は予約デバイス名です" などと注意されて失敗する。しかし、ファイル名をフルパスで記述し、先頭に "\\?\"を付加するとこれらのファイル名を使用してファイルを作成することができる。具体的には以下のようにする。

echo 0 > \\?\g:\con

これで、"con" というファイル名が作成されるはず。エクスプローラでは消せなくなるので、削除する場合は作成時と同様にコマンドラインで消さなくてはいけない。

del \\?\g:\con

この方法を使用すると、スペース1文字のファイル名なども作成できる。

echo 0 > "\\?\g:\ "

ファイル名にUnicode制御文字を使用する

Windows 2000/Xpではファイル名に日本語だけでなくUnicodeの殆どの文字を使用できる。当然、Unicode制御文字も使用できたりするので、早速いたずらをしてみる。


これでファイル名が右から左に表示されるようになる。ファイル名だけなら「変なファイル名」で済んでしまうが、ファイル名と共に表示される文字列の向きもおかしくなる。

ファイル名以外に "RLO Start of right-to-left override" を使用するとどうなるか? メモ帳では文字の方向がちゃんと右から左になる。しかし、ワードやエクセルなどではうまくいかない。日本語を右から左に書く需要は少しはあると思うが、この方法は使えないようである。"RLO Start of right-to-left override" は今のところいたずらにしか使えないようである。


日本語入力 (2008.12 修正)

日本語入力の方式は、主にローマ字入力、JISかな入力、そして親指シフト(NICORA配列)による入力などがある。 どの方式が良いか、色々考えてみたがそれぞれ一長一短あり、「場合によって使い分ける」という結論になった。 それぞれの特徴を下記に示す。

短時間での入力速度については WeatherTyping[→外] のランキングが参考になる。このランキングによると入力速度はJISカナ入力、ローマ字入力、NICORAの順に速いことになる。とにかく急いでいるときはJISカナ入力が有利なようである。コーヒー・お茶を飲みながらや弁当を食いながら片手で入力するときも、この方式がベスト。

尚、かな入力は日本語キーボード以外でも問題なく使用できる(かな配列を暗記していれば)。 私は英語でも日本語でもないキーボードで、1年以上かな入力を行っていたことがある。

しかしながら、かな入力にも以下のような欠点がある。

MS-IME, ATOK共にローマ字入力についてはカスタマイズできるのに対し、JISかな入力については入力文字の変更ができない。たとえば「ー」のキーが押しにくいので、Shift+「ほ」で入力するようにしたいと思っても変えることが出来ない。

特に右手の小指の負担が大きく、長時間入力していると結構疲れる。何時間もプレーしなければならないタイピングソフトがあれば、長時間入力に有利な方式がはっきりするはずだが、そんな物は無い。あっても誰もやらないだろう。

私の場合、疲れて手を動かすのが面倒になってきた時には親指シフト入力に切り替えることがある。基本的に疲れたときにしか使用しないので入力速度は速く無いが、手の負担は楽なような気がする。ローマ字入力については、指の負担は少ないが、キーを沢山押さないと文字が出てこないので好きになれない。

ということで長時間それなりに速く入力したい人にはNICORAが良いのではないかと思う。問題は入力環境が特殊なことだが、ありがたいことに普通のキーボードでも、フリーソフトを使用すれば親指シフト入力は可能である。もちろん普通のキーボードはNICORA用に出来ていないので指の配置に多少無理があるが、打ちにくい場合はスペースキーをどちらかの親指キーとして割り当てると何とかなる場合もある。ただ、両手の親指が入力に必要となるため、何かしながらの片手入力には全く向いていない。

楽に入力できて、あまり特殊な方式は嫌だ、という場合はローマ入力になるだろう。ローマ字入力については、特に大きな欠点の無い無難な入力方法と言える。入力方式としては最も良く使用されているので、ユーザーの声も反映されやすい。同じソフト(ATOK)であってもローマ字入力に関する機能の方が多く、バグも少ない。

日本語フォントの不満

Windowsに対する不満の1つ、それは日本語フォントである。とにかく見辛い。 目が良い人は問題ないかもしれないが、視力が悪い人、一日十時間以上パソコンと向き合う必要がある人などには厳しい。

左の図は, MS UI gothicのフォントを色々なサイズで表示させ、同じ大きさに加工したもの。但し、一番上はシャープのSHフォントによるもの、一番下は遠くからの視認性が重要となるバスの行き先表示を加工したものである。

次の図は、見えにくい状態をイメージできるよう、画像を加工してみたもの。実際に目が疲れた場合の見え方とは異なるかもしれない(いんちき?)。

800x600で9ポイントのフォントを使用している人が同じ画面サイズで解像度を1024x768にした場合、文字を同じ大きさにするには12ポイントにする必要があるが, 線の太さは3/4になってしまう。解像度が1400x1050になった場合はフォントサイズを16ポイントにする必要があるが, 線の太さは1024x768の時の半分くらいまで細くなってしまう。

ここで更に解像度を1600x1200にするとフォントサイズは18ptとなり、線の太さは「800x600で9ポイント」の時とほぼ同様になる。しかしアプリケーションによっては表示フォントを9pt固定にしているものもある。こういうアプリを1600x1200の画面上で動かすとやはり目に悪い。アプリケーション毎に解像度を自動的に切り替えるような仕組みがあると良いのだが。

とにかく11~16ptのフォントが見づらいことは確かなので。この範囲の大きさのフォントを使わないようのにするのがベストである。 目が疲れた時には、画面の設定を通常の解像度より2, 3段階低くしてみると良い。フォントサイズを小さくすれば、画面に表示可能な文字数は変わらない。

しかしアイコンサイズは変えようが無い。解像度を低くすると、画面をアイコンが占める割合がどうしても増えてしまう。そういう時はカスタマイズで不要なアイコンをどんどん消すと良い。メニューの文字も冗長なので最低限分かる程度まで短く変える。これで狭い画面も広く使える。

更新履歴

2011-07-20 01:21:13リンクミス修正
2011-07-20 01:16:20ファイルサイズ・タイムスタンプの再実験追加
2008-12-23 00:20:52スパースファイル実験追加
2008-12-16 00:36:13フォントについて(2)追加
2006-08-13 16:40:45誤記訂正
2006-02-15 08:30:382006年2月分追加
2005-07-05 22:56:07新規作成
ホームページ

このページは、2019年3月に保存されたアーカイブです。最新の内容ではない場合がありますのでご注意ください