アルパカ翻訳者の備忘録

フリーランス翻訳者claponが気になったことをまとめます

決まったフォルダーをPowershellスクリプトで自動作成する

取引先から作業ファイルをもらって自分のローカルPCに保存するとき、フォルダー構成を決まったものにしておくと悩む時間が少なくなり、作業効率がアップします。

私の場合は、こんな感じでdeliveryとprojectという名前のフォルダーを作ることにしています。deliveryは納品ファイルを入れるフォルダー、projectはCATツールのプロジェクトを格納するフォルダーです。

f:id:clapon:20161004205058p:plain

たいした作業でもないので、いままで手作業で作っていましたが、自動化した方が簡単なので、Powershellスクリプトで自動化し、エクスプローラーの右クリックで表示されるコンテキストメニューからこのスクリプトを呼び出させるようにしてみました。

対象OSはWindowsです。私の環境はWindows 10ですが、それ以前のバージョンでもほぼ同様に動作すると思います。

 

作業手順
  1. レジストリエディタを使ってコンテキストメニューに組み込む
  2. Powershellスクリプトを書く

順を追ってわかるように、この順番で作業します。

レジストリエディタを使ってコンテキストメニューに組み込む

レジストリエディタ(regedit.exe)を立ち上げ、HKEY_CLASSES_ROOT\Folderを検索します。

shellキーの下に、新規キーを作成します。キーの名前は任意です。ここではdelivery&projectとします。

(既定)を選択して、右クリックのコンテキストメニューから「修正」を選択し、文字列を編集します。この内容がコンテキストメニューに表示されます。ここでは「deliveryフォルダとprojectフォルダの作成」とします。好きな名前にしてください。

f:id:clapon:20161004211026p:plain

 

delivery&projectキーの下に、新規キーcommandをさらに作成します。

f:id:clapon:20161004211456p:plain

このキーの(既定)の文字列を、次のように編集します。

powershell.exe  -Command "C:\Users\ユーザー名\Documents\tool\powershell\delivery_and_project.ps1 '%L'"

これは、Powershellスクリプトファイルを呼び出すコマンドです。
呼び出すスクリプトファイルはこのあと作成しますが、そのファイルのフルパスを記入しておいてください。'%L'の部分は、選択したフォルダーをスクリプトの引数として渡すという意味です。

Powershellスクリプトを書く

先ほどレジストリエディタに登録したスクリプトファイルを作成します。

テキストエディタなどを使って、拡張子.ps1スクリプトファイルを先ほど指定したパスに新規作成します。ここでは、「C:\Users\ユーザー名\Documents\tool\powershell\」というフォルダーにdelivery_and_project.ps1というスクリプトファイルを作成することにします。

スクリプトファイルをテキストエディタで開き、次のように記述します。

cd $Args[0]

mkdir delivery
mkdir project

コンテキストメニューから渡されたフォルダーに移動し、そこにdeliveryとprojectというフォルダーを作るスクリプトです。

cdはフォルダーの移動、mkdirはフォルダーを作成するコマンドです。

 

エクスプローラーで作業ファイルのフォルダーを右クリックすると、先ほど登録した項目が表示されています。これをクリックすると、Powershellスクリプトが実行され、自動的にフォルダーが作成されます。

f:id:clapon:20161004212624p:plain

 他にもいろいろ応用できるので、ぜひお試しください~。