[戻る]
一括表示

LNKの処理・ディレクトリの移動 投稿者:sasazo 投稿日:2023/12/05(Tue) 02:20:42 No.515

おやぶん様、ご無沙汰しております。
せっかく、LNKの処理・ディレクトリ移動の処理を変更していただいたのに、
本業の方が忙しく、なかなか検証ができなかったことと、
また期待と違う動作であったため、どのようにまとめて良いか混乱しており、
書き込みが出来ずに申し訳ございませんでした。


混乱していたのは、
 ・LNKでディレクトリを移動する時の動作と、
 ・元のディレクトリに戻れない問題
で、以下のように検証をしてみました。

Re: LNKの処理・ディレクトリの移動 投稿者:sasazo 投稿日:2023/12/05(Tue) 02:22:11 No.516

3)次に、C:\linkフォルダを作り、上記のフォルダ・ファイルへのショートカットを作ります。
C:\lnk
C:\lnk\DIR1.lnk
C:\lnk\DIR2.lnk
C:\lnk\DIR3.lnk
C:\lnk\ファイル1.txt.lnk
C:\lnk\ファイル2.zip.lnk
C:\lnk\ファイル3.jpg.lnk


4)DW の設定は、以下のようにしました。
・拡張子別実行形式

 Shifut+Return Key
 LNK リンク先に飛ぶ


・LNKファイルの処理
 Dir の処理 ◎実行
 Fileの処理 ◎実行

Re^2: LNKの処理・ディレクトリの移動 投稿者:sasazo 投稿日:2023/12/05(Tue) 02:31:23 No.517

L C:\
C:\lnk
でC:\lnkフォルダに入り、
1)DIR1.lnk で Return とすると、エクスプローラで DIR2 フォルダが開きます。
2)DIR1.lnk で Shift+Return とすると、C:\に移動し、DIR1 上にカーソルがあります。
3)この時のディレクトリの履歴は
  C:\
  C:\lnk
  となっており、「前のディレクトリに戻る」で、C:\lnkフォルダに戻ります。
4)次に、DIR2.lnk で Shift+Return とすると、C:\DIR1に移動し、DIR2 上にカーソルがあります。
5)この時のディレクトリの履歴は
  C:\DIR1
  C:\
  C:\lnk
  となっており、「前のディレクトリに戻る」では C:\に戻ってしまいます。


期待する動作としては、
2)の時にはエクスプローラで開くと同様に、DIR1 フォルダに移動して欲しいです。
3)そうなると、この時のディレクトリ履歴は
  C:\DIR1
  C:\lnk
  となり、「前のディレクトリに戻る」で 元の C:\lnk に戻れるはずです。
4)次にDIR2.lnk で Shift+Return とした場合も、DIR2 フォルダに移動して欲しいです。
5)そうなると、この時のディレクトリ履歴は、
  C:\DIR2
  C:\lnk
  となり、「前のディレクトリに戻る」で 元の C:\lnk に戻れるようになるはずです。

と言う訳で、
・フォルダへのショートカットを開く(リンク先に飛ぶ)場合は、対象のフォルダ内に移動していただければ、と思った次第です。
・対象がファイルだった場合、どうすればいいかは、もうちょっと考えてみます。

Re^3: LNKの処理・ディレクトリの移動 投稿者:sasazo 投稿日:2023/12/06(Wed) 00:07:30 No.518

ディレクトリの移動ですが、

・拡張子別実行形式

1)Retur Key のところにはLNKに関する設定はいれずに
  Dirの処理 のところは◎リンク先へ飛ぶ

2)Shift+Return Key
  LNK リンク先に飛ぶ

としておきます。


3)DIR2.lnk のところで Return すると、C:\DIR1\DIR2 に飛びます。

4)DIR2.lnk のところで Shift+Return すると、3)と同じくリンク先に飛ぶ設定なのですが、
  今度は、C:\DIR1 に飛び、3)の動作と違ってしまいます。

Re^4: LNKの処理・ディレクトリの移動 投稿者:おやぶん 投稿日:2023/12/08(Fri) 22:49:23 No.520

確認ありがとうございます。
まとめると下記であっているでしょうか?

拡張子別実行でLNKをリンク先に飛ぶに設定した場合、
ディレクトリの場合はリンク先のディレクトリの中身を表示した状態、ファイルの場合は、そのファイルへカーソルがあっている状態になる。

問題なければソフトを修正します。
(新しい仕様のほうが使う人には良いと思いますので)

Re^5: LNKの処理・ディレクトリの移動 投稿者:sasazo 投稿日:2023/12/10(Sun) 20:39:16 No.521

> 確認ありがとうございます。
> まとめると下記であっているでしょうか?
>
> 拡張子別実行でLNKをリンク先に飛ぶに設定した場合、
> ディレクトリの場合はリンク先のディレクトリの中身を表示した状態、ファイルの場合は、そのファイルへカーソルがあっている状態になる。

ご確認ありがとうございます。
LNK拡張子を指定して設定した場合でも、LNKファイルの処理で設定した場合でも、どちらも同じ処理となる方が良いと思います。
・LNKがディレクトリの場合は、リンク先のディレクトリの中身を表示した状態。
・ファイルの場合は、そのファイルへカーソルがあっている状態
で宜しいかと思います。

もう一つ、私が混乱していた原因がわかりましたので、次に書かせて頂きます。

Re^6: LNKの処理・ディレクトリの移動 投稿者:sasazo 投稿日:2023/12/10(Sun) 20:42:35 No.522

LNKファイルでディレクトリやファイルを開いた場合、
元にいた場所に素直に戻れずに混乱していたのですが、
その原因がわかりました。

ディレクトリ履歴についてです。

拡張子別実行形式で、
Return Key
Shift+Return Key
とも、LNKファイルの処理は
Dir の処理  ◎リンク先へ飛ぶ
Fileの処理  ◎リンク先へ飛ぶ
としておきます。

ファイラーキー設定で、Shift+L に
「前のディレクトリに戻る」を割り当てています。


まず、次のようにディレクトリを移動しておきます。
L C:\
C:\lnk

この状態で、Shift+J でディレクトリの履歴を開くと
C:\lnk ← 今いるディレクトリ
C:\
・・・・・

ここで、DIR1.lnk で Enter とすると、C:\DIR1 に飛びます。
Shift+J でディレクトリの履歴を開くと
C:\DIR1 ← 今いるディレクトリ
C:\lnk
C:\
・・・・・

ここで Shift+L(前のディレクトリに戻る)とすると、
一つ前の C:\lnk に戻れます。

ただ、このC:\lnk に戻った状態で Shift+J でディレクトリの履歴を開くと
C:\DIR1
C:\lnk
C:\
・・・・・
となり、現在居る C:\lnk が書き込まれません。


これが原因で、「前のディレクトリに戻る」をしても、
元に居たディレクトリが出来ずに混乱しておりました。

と言う訳で、「前のディレクトリに戻る」でディレクトリを移動した場合も、
ディレクトリ履歴に記録をしていただければと思います。
よろしくお願いします。

Re^7: LNKの処理・ディレクトリの移動 投稿者:おやぶん 投稿日:2023/12/10(Sun) 23:51:53 No.523

了解しました。
前のディレクトリに戻るための情報と、履歴の情報を同じデータとして扱っていたので、このような仕様になっていました、履歴を時系列にするようにデータを追加して改善してみます。
早ければ来週末くらいには完成できると思います。
(そろそろ忘年会の季節なので、酔い潰れていたいたらちょっと遅くなります)

Re^8: LNKの処理・ディレクトリの移動 投稿者:sasazo 投稿日:2023/12/12(Tue) 22:44:22 No.524

> 早ければ来週末くらいには完成できると思います。
> (そろそろ忘年会の季節なので、酔い潰れていたいたらちょっと遅くなります)

忘年会シーズンですね!
急ぎませんので、是非「酔いつぶれていない時」に作業をお願いします。
飲み過ぎませんよう、ご自愛ください。
(って、人のことは言えませんが・・・)

Re^9: LNKの処理・ディレクトリの移動 投稿者:おやぶん 投稿日:2023/12/21(Thu) 23:21:53 No.530

履歴を時系列にするようにデータを追加するように仕様を変更しました。
拡張子別実行でLNKをリンク先に飛ぶに設定した場合、
ディレクトリの場合はリンク先のディレクトリの中身を表示した状態、ファイルの場合は、そのファイルへカーソルがあっている状態になる。

上記2つを12/21の版で対応しています。
確認をお願いします。

Re^10: LNKの処理・ディレクトリの移動 投稿者:sasazo 投稿日:2023/12/22(Fri) 18:38:53 No.533

lnkの動作でまだ不思議なところがあり、ご報告させて頂きます。

C:ドライブのルートに
C:\DIR1
C:\DIR1\DIR2
のようにフォルダを作ります。

C:ドライブのルートに
C:\linkフォルダを作り、ここに上記のフォルダに対するリンク
DIR1.lnk
DIR2.lnk
を作ります。

Dirの処理は「実行」
Fileの処理は「DWの設定で実行」
としておきます。

ファイラーキー設定で、
Shift+Lに「前のディレクトリに戻る」
を割り当てています。


L C:\でC:のルートに移動、
C:\lnkでEnterでlnkフォルダに入り、
ディレクトリ履歴を見ると
C:\lnk
C:
となっています。

ここでDIR1.lnkでEnterすると、C:\DIR1が開きます。
ここでディレクトリ履歴を見ると、
C:\DIR1
C:\lnk
C:
となっています。

ここで、Shift+Lで「前のディレクトリに戻る」とすると、
C:\lnkに戻ります。
この時のディレクトリ履歴は、
C:\lnk
C:\DIR1
C:
となっています。

今度は、DIR2.lnkでEnterすると、C:\DIR2が開きます。
ここでディレクトリ履歴を見ると、
C:\DIR1\DIR2
C:\lnk
C:\DIR1
C:
です。

ここで、Shift+Lで「前のディレクトリに戻る」とすると、
C:\lnk
に戻るはずなのですが、どういう訳か、C:\DIR1になってしまいます。
この時のディレクトリ履歴は
C:\DIR1
C:\DIR1\DIR2
C:\lnk
C:
となっています。

ちょっと不思議な動作なので、なにが原因がわからないのですが、
ご理解いただけますでしょうか?

Re^11: LNKの処理・ディレクトリの移動 投稿者:おやぶん 投稿日:2023/12/24(Sun) 22:21:38 No.535

前のディレクトリに戻るを実行時に、内部的にはソートしないので、それを保持したまま処理するので、このような状態になっていました。
ディレクトリ変更時に、改めてすべての履歴をソートするようにしたので確認願います。
対応版数は12/24です。

Re^12: LNKの処理・ディレクトリの移動 投稿者:sasazo 投稿日:2023/12/28(Thu) 00:53:15 No.536

> 前のディレクトリに戻るを実行時に、内部的にはソートしないので、それを保持したまま処理するので、このような状態になっていました。
> ディレクトリ変更時に、改めてすべての履歴をソートするようにしたので確認願います。
> 対応版数は12/24です。

12/24版、ありがとうございます。
こちらですと、直観的にわかりやすい。思った通りの動作となりました。
よくわからないのですが、内部的なソートなど、複雑な動作があるのですね!?
この度はご対応いただき、ありがとうございます。

- WebForum -