Tag Archives: dev

Windowsでconやprnという名前のファイルを作成する方法

Windowsでprnという名称のファイル作成

Windowsでprnという名称のファイル作成

「何個知ってた?聞いた時驚くけど実はどうでもいい事まとめ」に「Windowsでは『prn』というフォルダを作れない」という項目があった。Windowsでは一般的にprnとかconというファイルは作れないと言われている。Wikipediaの「予約デバイス」にもそのように書かれている。これはMS-DOS時代の予約デバイス名の仕様を受け継いでいるためで、そのころからの古参プログラマや、Windowsの開発者にはよく知られていることだ(ちなみに、conはコンソール、prnはプリンタを示すデバイスで、ちょっと印刷するのに type foo.txt > prn などとやることもあった)。

しかし、実はこれらのファイルを作ることは可能だ。方法は簡単で、コマンドラインでパスをUNCで指定するだけだ。こんな感じで。

copy NUL \\.\C:\User\username\Desktop\prn

この方法で、conもNULも作ることができる。どうやらWindows NT時代にPOSIX準拠にするために必要だったらしいですよ。

しかし、このファイル、作ったはいいけど、扱いが容易ではない。エクスプローラから削除しようとしてもこういうエラーが出る。ちょっと普段見ることがない内部エラーが見えて面白い。

prnを削除できない

やっかいなファイル名なのでよほどの理由が無い限り使わないのが正解だと思う。ちなみに削除もUNCパスで指定すれば可能だ。

del \\.\C:\User\username\Desktop\prn

どうでもいいことは楽しいですね。

こういう謎の仕様としては、かつてのMacOSで「レモン」と「メロン」というファイルを同じフォルダに作れなかった、という仕様も好きです。


Twitterのフォローボタンがミスを誘いやすい(誘いやすかった)

Blue Impulse 2006

「Twitterが人を勝手にアンフォローするバグとその対策」というTechCrunchの記事があった。確かに今日も、絶対フォローを外さないような方が、外れていてびっくりしたばかりだ。しかし、それだけでなく、少し前に新しくなったUIにも問題が多いと思う。最近気づいたのだけど

Followers Button3 Unfollow Persons Button

この2つのユーザが、フォロー済みか未フォローがわからない。これは「フォロー」と書かれているボタンにカーソルを乗せると

2 Followers Button On Mouse

青い方はこのような表示になるので、すでにフォロー済みとわかる。ところが最初の表示は単独で見るとどちらも「フォロー」ボタンが表示されていると思い、あれ、フォローしてなかったっけ? と思わずボタンを押してしまうのだ。

白いtwit bird付の「フォロー」ボタンと、マウスカーソルを乗せたとき一瞬見える赤い「フォロー解除」ボタンは、ボタンを押したときの動作を示している。これが一般的なボタンの表示だ。ところが、青い「フォロー」という表示はボタンを押したときに起こる動作ではなく、現在の状態を表している。これが混乱の元になっている。

ここからわかる教訓は、ボタン状のものはボタンとして動作するようにすること。ボタンを押したときに起こる動作をラベルとすること。インタラクティブにこだわりすぎて一つの部品に二つの役割(ここで言うとボタンの動作表示と現在の状態の表示)を持たせてユーザを混乱させるな、ということではないかと思う。

最初の画像は小鳥の画像にしたかったのだけど、一つも見つからなかったのでブルーインパルスにしてみた。


と思って今見たら、青いボタンのときの文字が「フォロー中」になっていた。フォントの影響か、直したのか、謎だ。