読者です 読者をやめる 読者になる 読者になる

意外に知らないstartコマンドの使い方

Windows Command DOSBatch

Unixbashzshと比較すると貧弱なコマンドプロンプト
それでもまだ使用しなければならない場面は多々あるのだ。
そこで意外に知られてないのが、startコマンドでエクスプローラーを起動する方法

エクスプローラーをコマンドで起動

いや、単に僕が知らんかっただけだろうけど。
カレントディレクトリをエクスローラーで起動するときは最初は以下でやってた。

  explorer /e, .\

面倒になってexpl.batというバッチを作った

@echo off
if {%1}=={} goto PWD
explorer /e,%1 %2 %3 %4 %5 %6 %7 %8 %9
goto END
:PWD
explorer /e, .\
:END

作ったときはexp.batにしていたのだけれど、Oracleのコマンドがバッティングするから、
expl.batに変更していた。

startコマンド

でもそんなことそをする必要がなかった。
startコマンドでできるのだ。

カレントディレクトリの場合
  start .
相対で指定
  start ..\
空白を含むパスの場合
  start "" "C:\Documents and Settings\orangeclover"
仕様の罠

""を入れないと"C:\Documents and Settings\orangeclover"が
コマンドプロンプトのタイトルとして起動する。
たぶん、startコマンドでこれを最初にやったから、エクスプローラーは
起動できないのだと思ったのだろう。


バッチで何かを起動させる処理を作ると ""を入れないで
コマンドプロンプトが起動して、なんでだぁーと悩んでる人を
結構見かける
start "" コマンドと習慣付けた方がよさそうだ


しかし、なんで、こんな仕様なのだろうか。

START ["タイトル"] [/Dパス] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [コマンド/プログラム]
      [パラメータ]

タイトルを設定するよりも、空白を含むパスを指定する方が圧倒的に多いと思う。
だって、Microsoftが空白Loveだから
C:\Documents and Settings
C:\Program Files

["タイトル"]よりも[/TITLE "タイトル"] の方が自然だと思うんだけどな。






関連あるかもしれない記事



広告を非表示にする