【Windows TIPS】ショートカットの不具合について
今日はショートカットに関するTIPSを2件
・リンク先の壊れた、アクセス権の無いショートカットを消す方法
・XPのショートカットがWin2000などで壊れる問題
リンク先の壊れた、アクセス権の無いショートカットを消す方法
Windows のリンク先が不正なショートカットで、アクセス権がない場合、
セキュリティタブを開くことすらできません。
セキュリティタブを開くために、まず、仮のショートカットの先と作業フォルダを指定します。
そして、アクセス権を一旦クリアしてから、ユーザーの追加を行えば、無事アクセスできるようになります。
しかし、固定のリンク先ならいいのですが、中には、リンク先が非表示のショートカットもあります。
この場合は、完全にセキュリティタブを開くことは不可能です。
では、このアクセス権のない壊れたショートカットはどうやって開けばいいのでしょうか?
答えは簡単。ファイル名を変更して やればいいのです。
Windows上では分かりませんが、ショートカットは *.lnk というファイル名になっているので、コマンドプロンプトから ren *.lnk *.txt などのように名前を変えてからセキュリティタブを開けばよいのです。
XPのショートカットがWin2000などで壊れる問題。
さて、次のショートカットを見てください。
Bitmapファイルはちゃんとショートカットのアイコンが出てるのに、WAVEとTEXTがなんだかおかしいですね。
ショートカットのプロパティを見て見ます。
なんかおかしいですね。
実はこれ、XP上で作成したショートカットにダブルバイトコードやロングファイルネームが含まれると、化けると言うバグなのです。
XPはショートカットにショートファイルネームの情報も保存するのですが、Windows2000にはその情報がないので、ばぐっちやうわけですね。
回避するためには、XPのレジストリ、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem の NtfsDisable8dot3NameCreation のDWORDを1にして、旧OSと互換にしてやる必要があるのです。
関連記事:
Windows XP で作成したショートカット ファイルを Windows 2000 環境へコピーすると Windows 2000 上にて [リンク先] の情報が文字化けする
NtfsDisable8dot3NameCreation少なくともWindows NT 3.5からあったもの[1]で、当時からデフォルト値は0でした。むしろこれを1にすると旧OS(MS-DOSやWindows 3.1、Win9x)用のアプリケーションとの互換性が失われます。それどころかWindows 7対応と称してるアプリですら実はショートファイルネームに依存していることも珍しくありません。
そもそもすでに付けられたショートファイルネームが削除されるわけでもないのに、これで解決になるのでしょうか。ちゃんと試してKBに書かれたのか極めて疑わしいですね。
[1] http://support.microsoft.com/kb/121007/ja