標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

Windows の FileID とは

Windows は i-node がないから、2つのファイル名の同一性のチェックが面倒だ。

といったことをせにゃならん。それでもなお、ジャンクションとか、ドライブ文字へのディレクトアサインとかあって、無理

などということを言っていたら、ファイルIDがあるという情報をいただいた。

どうやら

  • コマンドラインでは、fsutil.exe file queryFileNameById で確認できる
    • ただし出力は ファイル ID は 0x00000000000000000072000000004033 です などというなんとも使いにくいテキスト
  • USBメモリなどの FAT や、VMware の共有フォルダー上のファイルでもとれた
  • ちゃんとした API が用意されているので、それを使えということらしい

これが COM (Scripting.FileSystemObject) とかで読み出せたら便利なんだがなぁ(まぁ贅沢はいうまい)

追記

File-ID を得る Go のパッケージを書いた。