やりたいこと
フォルダー内のファイルパス一覧やファイル名一覧を取得したいことがあると思います。
今回は、サクラエディターで一瞬でファイルパスを取得し、正規表現を使ってファイル名一覧を取得する方法を紹介させていただきます。
とても簡単なので、是非参考にしてください!
サクラエディターでファイルパス一覧を取得する
① 任意のフォルダーを開きます。
② ファイルパスを取得したいファイルを選択し、Ctr + Cでコピーします。
↓ 今回はCtrl + A で全てのファイルを選択しました。
③サクラエディターを開き、Ctrl + Vで貼り付けます。
完成です \(^^)/
私にとってはかなり意外な方法でした(笑)
サクラエディターでファイル一覧を取得する
続いて、先ほど取得したファイルパス一覧から正規表現を使って置換を行うことで、ファイル名の一覧を取得したいと思います。
正規表現とは
"正規表現"という言葉をご存じでしょうか。辞書ではこのように説明されています。
正規表現とは、ある特定のパターンを持つ文字列を指定する表記法の一つ。文字列の検索や置換、抽出などを行う際の対象の指定などのために用いられる。
詳しくはこちらの記事で説明していますので、ご存じでない方はチェックしてみてください!
ファイルパスを正規表現で表そう
下記の例で考えてみたいと思います。
・ファイルパス:C:納品管理¥#0001_納品一式¥01_要件定義書.xlsx
・残したいもの:01_要件定義書.xlsx
・消したいもの:C:納品管理¥#0001_納品一式¥
消したいものと消したくないものを比べると、消したいものは全て¥で終わることが分かります。
つまり、"任意の文字列で最後に¥で終わる"を表す正規表現を使って、何もなしに置換すること([置換後]を空欄にすること)で、消したいものを消すことができます。
"任意の文字列で最後に¥で終わる"を表す正規表現は.*¥¥です。
呪文みたいで中々覚えられないので、意味について考えてみました。
.は任意の1文字を意味します。
*は直前の文字列が0個以上続く、を意味します。
¥¥は¥を正規表現ではなく普通の文字列として認識させたいときに¥を重ねます。
つまり、
一つ目の¥は「後ろにくる文字は文字列だよ!」ということを意味し
二つ目の¥は「ファイルパスで出てくる¥」を意味します。
以上のことから今回利用する.*¥¥は
「任意の文字列が0個以上続いて、最後に¥がつくパス」という意味になりますね。
01_要件定義書.xlsx などのファイルは、最後に¥がつかないので置換の対象にならず残ります。
ちなみに、Excelでは、0以上の文字列を表すワイルドカードは*だけでよいのですが、サクラエディタでは .*で表現します。
サクラエディターで置換してみよう
それでは、 ".*¥¥"を利用して置換してみましょう。
1.ショートカットキー:Ctrl + Rで置換ボックスを開きます
2.[置換前]に ".*¥¥" と入力します
3.正規表現にチェックを入れて全て置換をクリックします
(今回は置換前のものを消したいので、置換後には何も入れません)
■結果
パスが消えて、ファイル名の一覧になりましたね(^-^)
ひとこと
いかがでしたでしょうか?
正規表現はたくさんありますが、利用例と合わせて覚えておくと便利だと思います。
これからも紹介させていただきますので、是非参考にしてください。
サクラエディターのその他便利機能についてはこちら(^^)/
*こちらは、システムで文字列に変換したいときに役立ちます。
123という数字を'123'に変換したいときなど、便利です。