手軽な効率化!ブックマークレットについて

院内ヘルプデスクmkdir, ブックマークレット

チケット管理システムで課題の対応をしている際、調査した結果などをフォルダに入れてまとめて作業しています。

その際に、フォルダを作成する階層まで移動するのが若干手間で面倒でした。

そこで今回は、そのような作業をブックマークレットを使って少し簡略化できたのでその手順と作成物を紹介しようと思います。

ブックマークレットとは

ブックマークレットは、Webブラウザ上で実行できる小さなプログラムで、一般的なWebページにアクセスした際に、ブックマークレットを実行することで、ページ内の情報の取得や操作ができます。

主にJavaScriptで記述されていて、ブラウザのブックマークバーなどから手軽に実行できます。 ブックマークレットを使えば、Webページの見た目を変えたり、選択したテキストをキーワード検索したり、ページ翻訳したりなど、様々な機能を簡単に実行できます。

ただ今回は、ページ内の情報などは取得せずにただ、フォルダを作成するコマンドを作るだけです。

mkdir

フォルダを作るコマンドでmkdirというコマンドがあります。 mkdirの後にスペースを入れて、作りたいフォルダのパスとフォルダ名を入れれば空のフォルダが作成されます。

mkdir C:/work/system-1915

作成手順

今回私は下記の手順でブックマークレットを作成しました。

  1. 元となるJavaScriptを作成する
    • 作成するコードはすでにあるコードを真似たり、Chat-GPTなどに生成してもらうのが良いと思います。
  2. 動作確認
    • 作成したJavaScriptが期待通りに動く確認します。下記のサイトや、ブラウザのF12でDeveloper Toolを開いてConsoleタブで貼り付けることでも動作確認できます。
  3. 圧縮・最適化
    • Googleが提供しているサイトでCompile・圧縮すると、1行に変換できます。 (ブックマークレットは1行しか登録できないので…) この時点でブックマークレットとして登録できますが、うまく動かない場合には次の手順でさらに変換します。
  4. ブックマークレットに変換

エンコード・レコード

すでに公開されているブックマークレットを参考にしたい場合には、下記のツールなどで見やすい形に変換できます。
 https://home.kendomo.net/board/decode/decode2.php

成果物

今回作成したコードは下記のようなコードになります。
(1行の長いコードですので、スクロールするか全選択して下さい)

javascript:'use%20strict'%3B%22use%20strict%22%3B(function()%7Bconst%20b%3D%60mkdir%20%22%24%7B%22C%3A%5C%5Cwork%5C%5C%22%7D%24%7Bprompt(%22%5Cu65b0%5Cu3057%5Cu3044%5Cu30d5%5Cu30a9%5Cu30eb%5Cu30c0%5Cu306e%5Cu540d%5Cu524d%5Cu3092%5Cu5165%5Cu529b%5Cu3057%5Cu3066%5Cu304f%5Cu3060%5Cu3055%5Cu3044%3A%22)%7D%22%60%2Ca%3Ddocument.createElement(%22input%22)%3Ba.value%3Db%3Bdocument.body.appendChild(a)%3Ba.select()%3Bdocument.execCommand(%22copy%22)%3Bdocument.body.removeChild(a)%3Balert(%60mkdir%5Cu30b3%5Cu30de%5Cu30f3%5Cu30c9%5Cu3092%5Cu30af%5Cu30ea%5Cu30c3%5Cu30d7%5Cu30dc%5Cu30fc%5Cu30c9%5Cu306b%5Cu30b3%5Cu30d4%5Cu30fc%5Cu3057%5Cu307e%5Cu3057%5Cu305f%3A%5Cn%24%7Bb%7D%60)%7D)()%3B%0A

上記をブックマークレットに登録して、実行すると下記のように動きます。

  1. ダイアログが出てフォルダ名の入力を行う。 
  2. コマンドが生成され、クリップボードにコピーされる 
  3. コマンドプロンプトなどで実行するとフォルダができる。

ちなみに上記ブックマークレットはWindowsでもMacでも動きました。クリップボードなどの仕様が気になったのですが、動くようです。

まとめ

私は結構飽きっぽいので、すぐにやればさっさと終わる作業でも、面倒でなかなか手をつけられない場面がたまにあります。

しかし、面倒な作業は手順が多かったり複雑だったりするので、自動化する余地があることも多いです。 なので、そう感じたときに今回のように自動化を施すことでよりスムーズに作業を進めることができると思います。

飽きっぽいのは一見短所のように見えますが、見方や行動を変えれば長所に転換できるものだと思いますので、今後も自動化・簡略化などを進めていきたいと思います。