| ||||||||||||||||
|
ロングパスネームをショートパスネームに変換 (要KERNEL32.DLL)
| ||||||||||||||||
Windows9X時代だと、まだ普通に聞くことがあったDOSショートパスネームという言葉。 フォルダやファイル名を8文字以内、拡張子を3文字以内にして表す様子から8.3形式と呼ばれ、 9文字以上ある場合は、前半の6文字と半角チルダと1から始まる重複しない番号が自動的に割り振られます。 内部には別名としてショートパスを持ってはいるもののエクスプローラ上からは見ることができず、 利用する側から考えるとわかりにくいだけの機能である気がします。 また、今やパソコンの搭載メモリやハードディスク等々のあらゆるものが大容量化して、 ショートファイルネームを使う必要性もなくなったので、情報として載せておく価値はないかもしれません。 ショートパスへの変換のためだけにHspext.dllを使うのはイヤという場合もあるでしょうから、 参考用としての意味も含めて載せておきます。 Hspext.dllのfxshort命令の元となるAPI関数GetShortPathNameを使います。 引数に指定するのは、変換元のパス名、8.3形式に変換したパス名の受取先、受取先変数サイズで、 変換元のパス名の一部または全部が予めショートパスになっていても問題ありません。 詳しい設定方法については下記のサンプルモジュールを参照してください。 尚、ショートパスからロングパスへはAPI関数GetLongPathNameで変換することができますが、 標準命令のdirlist命令でも変換できるのでAPIを使っての変換は紹介しません。 | ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||