none
エクスプローラーに保存したファイル名にチルダ記号「~」が付く経緯について RRS feed

  • 質問

  • エクスプローラーの中に「スナッ~1.JPG」や「スナッ~2.JPG」というファイルがあります。利用者が作成したファイル名とは考えにくいのですが、元ファイルと思わしきファイルがないため良く分かりません。Windowsの8.3形式によるものだと考えていますが、どのような操作をしたらエクスプローラーにこのようなファイルが残るでしょうか。関係しそうなソフト会社に問い合わせをしたところWindowsが原因と言われてしまい原因が分かりません。
    2019年11月1日 0:36

回答

  • そのようなファイルが生成されることで何か実際上の問題や不具合が起きるのでしょうか?

    ユーザーがそのような名前を付けたのでない限り(実際に付けそうにないですが)、何らかのソフトウエアによってそのような名前が生成されているのでしょう。「関係しそうなソフト会社」と書かれているところから、その生成しているソフトウエアに心当たりがあるのだと推察します。そこに問い合わせて「Windows が原因」と言われたとしても「Windows のどのような機能や仕様が原因で起きるのか」を説明してくれない限り、(仮に存在するとしても)対処方法や回避方法は分からないですから、不親切な対応と言えます。とは言えそう言われてしまったらユーザーとしてはどうしようもないので、実際上の問題や不具合が起きないのであれば気にせず放置するのが賢明だと思います。

    どうしてもさらに調査したいのであれば、ファイルやフォルダーに監査をかけるProcess Explorer を使うなどしてそのような名前のファイルを生成/アクセスしているソフトウエアを特定することは可能でしょう。ただしそれが前述の「関係しそうなソフト会社」の製品だったとしたら、結果的にはどうしようもないということになるかもしれません。


    Hebikuzure aka Murachi Akira



    2019年11月1日 3:47
  • アプリケーションが作成する一時ファイルの命名規則はそれぞれのアプリケーションによります。開発元が好きなファイル名を生成できるので、書かれているようなファイル名の一時ファイルを作成するアプリケーションがあっても不重ではありません。

    どうしても気になるのであれば、先に書いたような方法でご自分で調査されると良いでしょう。


    Hebikuzure aka Murachi Akira

    • 回答としてマーク se.matsumoto 2019年11月1日 7:30
    2019年11月1日 7:25

すべての返信

  • そのようなファイルが生成されることで何か実際上の問題や不具合が起きるのでしょうか?

    ユーザーがそのような名前を付けたのでない限り(実際に付けそうにないですが)、何らかのソフトウエアによってそのような名前が生成されているのでしょう。「関係しそうなソフト会社」と書かれているところから、その生成しているソフトウエアに心当たりがあるのだと推察します。そこに問い合わせて「Windows が原因」と言われたとしても「Windows のどのような機能や仕様が原因で起きるのか」を説明してくれない限り、(仮に存在するとしても)対処方法や回避方法は分からないですから、不親切な対応と言えます。とは言えそう言われてしまったらユーザーとしてはどうしようもないので、実際上の問題や不具合が起きないのであれば気にせず放置するのが賢明だと思います。

    どうしてもさらに調査したいのであれば、ファイルやフォルダーに監査をかけるProcess Explorer を使うなどしてそのような名前のファイルを生成/アクセスしているソフトウエアを特定することは可能でしょう。ただしそれが前述の「関係しそうなソフト会社」の製品だったとしたら、結果的にはどうしようもないということになるかもしれません。


    Hebikuzure aka Murachi Akira



    2019年11月1日 3:47
  • ご回答ありがとうございます。

    元のファイルがないため、消えてしまったのか、ファイル名が変わったのか分からない状況です。例えば、ユーザーがファイルを編集、参照中にPCを再起動などさせてしまった場合、一時ファイルとしてこのようなファイル名が残るなどがあれば原因がソフト以外にあることになります。一時ファイルの仕様にこのような仕様がないかなど存じ上げないでしょうか。

    2019年11月1日 4:50
  • アプリケーションが作成する一時ファイルの命名規則はそれぞれのアプリケーションによります。開発元が好きなファイル名を生成できるので、書かれているようなファイル名の一時ファイルを作成するアプリケーションがあっても不重ではありません。

    どうしても気になるのであれば、先に書いたような方法でご自分で調査されると良いでしょう。


    Hebikuzure aka Murachi Akira

    • 回答としてマーク se.matsumoto 2019年11月1日 7:30
    2019年11月1日 7:25
  • 非常に参考になりました。いくつか検証してみたいと思います。

    ありがとうございました。

    2019年11月1日 7:30
  • © ウィンドウズスクリプトプログラマ - Windows Script Programmer 2019
    「スナップショット.jpg」のような長いファイル名で作成すると、長いファイル名と短いファイル名のディレクトリエントリができます。

    findfirst(),findnext()などでディレクトリエントリを列挙するとき、*.jpgのようなワイルドカードを指定すると、長いファイル名と短いファイル名の両方が列挙されます。

    その短いファイル名でコピー、移動を行うと、短いファイル名だけのファイルができます。

    短いファイル名の混在を防ぐには、*で列挙して、その結果集合を正規表現でmatchを掛けるなどしてフィルタリングする。

    だいぶ昔の話を思い出して書いてるので、検証して。
    2019年11月1日 9:01
  • あってると思います。

    ファイル システムによる SFN (短いファイル名)の自動生成を抑止することも可能ですね。


    Hebikuzure aka Murachi Akira


    2019年11月1日 10:41
  • © ウィンドウズスクリプトプログラマ - Windows Script Programmer 2019

    findfirst(),findnext()などでディレクトリエントリを列挙するとき、*.jpgのようなワイルドカードを指定すると、長いファイル名と短いファイル名の両方が列挙されます。
    探したけれど、見つからない。怪しい。
    VBAのDir()関数のワイルドカードは誤動作する。: Windows Script Programming
    こういう話と混同してるかも。長いファイル名と短いファイル名の両方でワイルドカード照合するけど、出力は長いファイル名だから該当しない。

    その短いファイル名でコピー、移動を行うと、短いファイル名だけのファイルができます。
    これも怪しい。コマンドプロンプトで短いファイル名でコピーしたら長いファイル名になった。

    あと、exe用のドロップハンドラをexe以外に使うと、短いファイル名が渡される。という話もある。
    PowerShellの.PS1ファイルの関連付け(その2): Windows Script Programming
    入力の短いファイル名を使って別フォルダに作成するとかすれば、意図せず、長いファイル名が短いファイル名になる。

    2019年11月1日 10:56