HOMING★WONDER

秀丸マクロ ディレクトリ生成 - run で引数つきバッチ処理

最終更新:

kouraku_tiritomado

- view
管理者のみ編集可
秀丸マクロは高い汎用性を持っていて、工夫次第ではテキストエディタとしても充分以上のことが出来ます。
ここでは run を使ってバッチファイルを実行し、任意のディレクトリを生成してみます。

mkdir.bat(MS-DOS仕様)の準備

mkdir %1
まず、バッチファイルを作ります。たった一行の非常に簡単なバッチファイルです。mkdir コマンドがディレクトリを生成するコマンドで、そこに実行時パラメータをひとつ渡しています。MS-DOS仕様で紹介しますが、UNIX仕様でもほとんど大差なく、%の記号が$記号に変わるだけです(※)。

  • mkdir 任意のディレクトリ ...
"任意のディレクトリ" を生成します。なにもない空っぽの状態でいきなり hoge\hoge\hoge と深く指定しても、ちゃんと全てのディレクトリが新しく生成されます。指定したディレクトリが既に存在する場合は、とくに何も起こりません。 ディレクトリは、次の指定方法があります。
  • 絶対パス ... ルートドライブから指定する絶対パスでディレクトリを生成します。
  • 相対パス ... 操作中のディレクトリ( cd コマンドなどで指定 )に対し相対的に指定します。
  • ¥相対パス ... 操作中のディレクトリ( cd コマンドなどで指定 )のルート直下に対し相対的に指定します。

  • 実行時引数
バッチファイルからは次のように実行時引数を参照できます。
変数 内容
%0 実行コマンド / バッチファイル名
%1 %2 … %9 実行時引数(個別)
%* 全引数

(※)と言うか、こういった機能はたいていUNIX系の方が充実しているようで、UNIX系に書き直すにはさらに勉強が必要そうです…。

秀丸マクロからのバッチファイル呼び出し

runsync2 "mkdir.bat c:¥¥newdir";
マクロから呼び出すのも簡単です。batファイルとして保存しておけば、run で開くだけで手軽に実行できます。
コマンド終了まで待った方が無難なため、runsync2 を使用していますが run や runsync でも問題ありません。
円マーク(バックスラッシュ)は二度重ねて、エスケープするのがお約束です。

上の例では最も単純な呼び出し方をしています。もしディレクトリ名に半角スペースや全角を入れるなら、ダブルクオーテーションで囲みます。文字列中でのダブルクオーテーションはエスケープする必要があります。
runsync2 "mkdir.bat ¥"c:¥¥たけやぶ やけた¥"";
読みにくいですが、お約束なので仕方ありません…。

同様に、ファイルの移動や削除など、呼びっぱなしでオッケーの処理であれば簡単にバリエーションが思いつくところです。是非挑戦してみて下さい。


記事メニュー
目安箱バナー