Skip to content

Instantly share code, notes, and snippets.

@kskmori
Forked from t3yamoto/index.md
Last active February 26, 2026 13:22
Show Gist options
  • Select an option

  • Save kskmori/1c9458bd56a36374f196a8cd0a0c9e33 to your computer and use it in GitHub Desktop.

Select an option

Save kskmori/1c9458bd56a36374f196a8cd0a0c9e33 to your computer and use it in GitHub Desktop.
Boxで開いているフォルダをBoxDriveで開きたい時に便利なブックマークレット(Windows用)

Boxで開いているフォルダをBoxDriveで開きたい時に便利なブックマークレット(Windows用)

ブラウザでBoxのフォルダを開いている時に、当該フォルダをBoxDrive(Windows Explorer)で開きたくなることがある。そんな時にこのブックマークレットを使用すれば、いい感じにパスをコピーできる。

以下で公開されているブックマークレットを元に修正したもの。

修正履歴

2026/02/26

  • 2026/02/25 版の不具合修正

2026/02/25

  • Box 仕様変更に追随
    • 階層メニューの取得方法を変更
    • 分類ラベルの除外処理を変更

2025/11/12

  • Box 仕様変更に追随 (すべてのファイル → ファイル)

2025/04/18 Fork初版

  • (1) 階層メニューのパスがコピーされない場合がある不具合を修正
  • (2) 分類ラベルをコピーしないように修正
  • (3) パス形式を Windows 用に変更

Windows Explorer で開く分には (3) のパス形式は変更しなくても問題はないのだが、自分の場合パスをそのまま他のテキストにもコピーすることが多いため Windows パス形式に揃えた。

インストール方法

以下のスクリプトをEdgeのブックマークに任意の名前で登録する。

Windows 版

javascript:(async function () { let path = "%USERPROFILE%\\Box\\"; const dotButton = document.querySelectorAll(".FolderTreeButton")[0]; if (dotButton) { await dotButton.click(); path += [ ...document.querySelectorAll( "a[data-resin-target='openfolder'].menu-item"), ] .map((e) => e.innerText) .filter( (v) => v !== decodeURI("%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB")) .join("\\"); if (!path.endsWith("\\")) path += "\\"; } path += [...document.querySelectorAll(".ItemListBreadcrumb-listItem:not(.is-last)"), ...document.querySelectorAll(".ItemListBreadcrumb-currentItemTitleAndFolderTreeFlyout")].map((v) => v.firstElementChild.innerText).filter( (v) => v !== "" && v !== decodeURI("%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB")).join("\\"); !(function (a) { var b = document.createElement("textarea"), c = document.getSelection(); (b.textContent = a), document.body.appendChild(b), c.removeAllRanges(), b.select(), document.execCommand("copy"), c.removeAllRanges(), document.body.removeChild(b); })(path); document.body.click();})();

使い方

Boxでフォルダを表示している状態で登録したブックマークを呼び出すと、%USERPROFILE%\Box\to\local\path の様な形式でクリップボードにコピーされる。 Explorer のアドレスバーに貼り付けて移動する。

動作確認環境

  • Windows 11 25H2
  • Edge 145.0.3800.70

ライセンス

ライセンスはFork元の下記ライセンスと同じく Unlicense とします。 https://gist.github.com/t3yamoto/35a61f4f95edafbe71056c6ba35d8596

ソースコード

処理と差分を見やすくするためにインデントを入れたもので、内容は上記と同一です。

javascript:
(async function () {
    let path = "%USERPROFILE%\\Box\\";
    const dotButton = document.querySelectorAll(".FolderTreeButton")[0];
    if (dotButton) {
        await dotButton.click();
        path += [ ...document.querySelectorAll( "a[data-resin-target='openfolder'].menu-item"), ] .map((e) => e.innerText) .filter( (v) => v !== decodeURI("%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB")) .join("\\");
        if (!path.endsWith("\\")) path += "\\";
    }
    path += [...document.querySelectorAll(".ItemListBreadcrumb-listItem:not(.is-last)"), 
             ...document.querySelectorAll(".ItemListBreadcrumb-currentItemTitleAndFolderTreeFlyout")]
            .map((v) => v.firstElementChild.innerText).filter( (v) => v !== "" && v !== decodeURI("%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB")).join("\\");
    !(function (a) {
        var b = document.createElement("textarea"), c = document.getSelection();
        (b.textContent = a), document.body.appendChild(b), c.removeAllRanges(), b.select(), document.execCommand("copy"), c.removeAllRanges(), document.body.removeChild(b);
    })(path);
    document.body.click();
})();
@TenpuraTaiki
Copy link
Copy Markdown

度々便利に使わせて頂いています。ありがとうございます。
boxの仕様変更で「すべてのファイル」が「ファイル」になったので、
decodeURIの"%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB"の「すべての」の部分を削らないと動作しなくなりました。

@kskmori
Copy link
Copy Markdown
Author

kskmori commented Nov 12, 2025

@TenpuraTaiki
ご報告ありがとうございます! 修正しました。

@oharaka
Copy link
Copy Markdown

oharaka commented Feb 26, 2026

kskmori様
いつもありがたく使わせていただいております。ありがとうございます。
この度の仕様変更で、最後の\が上手く表示されなくなってしまったのですがこちらのPCの仕様が悪いのでしょうか。
具体的には
"%USERPROFILE%\Box.......\案件A\受領フォルダ\260226 "
みたいなフォルダパスがあった場合、
"%USERPROFILE%\Box.......\案件A\受領フォルダ260226\ "
と出てしまいます。
お手数おかけして申し訳ありませんがご確認いただけますと幸いです。

@kskmori
Copy link
Copy Markdown
Author

kskmori commented Feb 26, 2026

@oharaka
ご報告ありがとうございます。すみません、まだ私の方でもデバッグ途中でしたw
2026/02/26 修正版でいかがでしょうか。

@oharaka
Copy link
Copy Markdown

oharaka commented Feb 26, 2026

@kskmori
上手く表示されるようになりました。ありがとうございました!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment