- 締切済み
windows 仮想ファイルシステム
情報学専攻の学生です. 仮想ファイルシステムに関しての質問です. 仮想ファイルシステムに関する情報をWebで集めているのですが,なかなか集まりません. そこで,以下の内容に関して知っている方がいましたら,情報の提供をお願いします. 「仮想ファイルシステムを用いることで,ファイル生成処理になんらかの処理(ファイル名の変更,ファイル生成時刻の変更)を加えることはできるのでしょうか?」 また,windowsで仮想ファイルシステムを実装するにはどういった方法があるでしょうか? よろしくお願いいたします.
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- superside0
- ベストアンサー率64% (463/719)
> ローカルでファイルを生成した時に、そのファイルに対して処理(ファイル名の変更,ファイル生成時刻の変更など)を加える、ということです。 そういうことなら仮想ファイルシステムをわざわざ 作らなくても 単なる ファイルハンドリングだけの処理でもできますね。 例えば、C言語なら ファイルのオープンやクローズに 普通、fopen(), fclose()を使いますが、 それをラップした自分関数を作り、その中でfopen時のファイル名を変更したり fclose()後に、utime()でファイルの更新時の変更したりすれば よいのでは。 (そのアプリだけですが)
- superside0
- ベストアンサー率64% (463/719)
ひとくちに 仮想ファイルシステムといっても、 ファイルシステム上の実際の1ファイルを 仮想的にファイルシステムとしてみたて、 仮想マシン上からファイルシステムとして使う。 NFSのように、ネットワークの向こう側にあるファイルシステムを、ローカルのファイルシステムのように使う。 gdriveのように、ネットワークの向こうにあるのがファイルシステムではないのに、ローカルのファイルシステムとして使う。 PogoplugのP:ドライブのように、SMBでマウントできるNASではないのに Windows(DOS)のドライブレターとしてマウントして使う。 等々・・・色々考えられるので、まずは 示している仮想ファイルシステムというのはがなにかを 定義しなことには、 それの条件も確定しないのではないでしょうか。 たとえば、Linux/UNIXでsmbサーバーを立ち上げて、Windows側からそれに書き込んだ 日本語ファイル名を、実際のファイルシステム側のエンコードに合わせてファイル名を 変換するという感じの実装はsmbサーバーにあります。
補足
丁寧な回答ありがとうございます。 今やりたいと思っていることは、 ネットワークの向こう側にあるファイルシステムをローカルのファイルシステムのように扱うのではなく、 ローカルでファイルを生成した時に、そのファイルに対して処理(ファイル名の変更,ファイル生成時刻の変更など)を加える、 ということです。 また、上に書いたような処理を実装するために何か良い方法が他にあれば教えてください。
補足
早速の回答ありがとうございます。 アプリを限定せずにする方法はあるのでしょうか?