フォルダがロックされる現象について

  1. 次の手順を行うと、フォルダがロックされた状態になります。

    1.フォルダA内のファイルBを開く。
    2.新規テキストを開く(CTRL+N)
    3.ファイルBを編集
    4.ファイルBを閉じる。(保存しない)
    5.フォルダAの名前を変更しようとするとMeryがつかんでいる。
    6.Meryを終了させるとフォルダAの名前が変更できる。

    検索したところ既出の話題は見つけられませんでした。

    OSはWindows11
    Meryのバージョンは3.7.6
    マクロは使用していません。

    仕様なのか、不明ですがちょっと不便なので報告させていただきました。
    希望としては、上記ファイルBを閉じた時にフォルダAのロックが解除されるようになるとありがたいです。

     |  GH  |  返信
  2. ご報告ありがとうございます。

    これは Mery がフォルダーをロックしているわけではなく、Windows の仕様ですね。

    Windows のアプリは、それぞれのプロセス (たとえば Mery.exe) に必ず 1 つの作業フォルダー (カレントディレクトリ) が割り当てられます。

    ショートカットから Mery を起動している場合は、ショートカットの [プロパティ] に設定されている [作業フォルダー] が使われます。

    このフォルダーはアプリの「ベース」となるフォルダーで、アプリが動いている間は削除できません。

    また、エクスプローラーでテキストファイルをダブルクリックしたり、関連付けから Mery を起動した場合、そのファイルがあるフォルダーが自動的に [作業フォルダー] になります。

    この場合も、Mery (Mery.exe) を終了しない限り、そのフォルダーは削除できません。

    この問題を避ける方法はいくつかあります:

    ・Mery をショートカットから起動する

    ショートカットに設定されている [作業フォルダー] が使われるので、フォルダーが削除できない問題を避けられます。

    ・Mery をトレイアイコンとして常駐させる

    インストーラーを使って、Mery を Windows の起動時にトレイアイコンに常駐させると、作業フォルダーはデフォルトのフォルダー (Mery.exe の場所) に固定されます。

    これなら、関連付けでファイルを開いても作業フォルダーが変更されることはなく、削除できない問題が解決します。

    ・作業フォルダーを変更する

    以下のようなマクロを使って、作業フォルダーを別の場所に変更することもできます:

    new ActiveXObject("WScript.Shell").CurrentDirectory = "C:\\Program Files\\Mery";
     |  Kuro  |  返信
スポンサーリンク