バッチファイルの作り方*** 日頃の定型的な操作を自動化したい方へ***2006年11月14日、マイクロソフトよりWindows上の新しいコマンドライン(シェル)環境である、 Windows PowerShell(稼動OS:XP以降)がリリース(無償)されました。 Windows 7 以降のOSでは標準実装されています。 従来Windows上で作成に不自由していたバッチファイルのような処理も、 はるかに強力なシェル環境が提供されたことにより、実現できることのレベルも飛躍的に高まったものと思われます。 新しいシェル環境でもTRYCUTの起動オプションの利用ができます。 むしろ、このシェル環境によって起動オプション(それぞれのヘルプ 2000, 3000, 5000)の利用価値が高まったと言えます。
PowerShellについては既に様々なページで紹介されています。 なお、本ページは、あくまでも従来のコマンドライン上でのバッチファイル作成についての内容になっています。 もし、バッチファイルの作成で限界があるようでしたら、UNIXのクローン環境(後述)も検討の余地がありますが、 このPowerShellは、後発であるがゆえUNIXのシェル環境をも凌駕してしまうぐらいの出来栄えです。 今後はWindows PowerShell上での構築も検討のひとつに加えていただきたいところです。
こんなことを思ったことのある方は、このページを読んで下さい。 ただし、現在WindowsNT4.0,2000,XP,Vista,7,8,10のいずれかで稼動させている方に限ります。 (※95,98,Me利用の方は、別ソフトの「寝太郎」(フリーソフト)を利用して下さい。 この場合、EXE形式のファイルの連続実行のみの対応となります。) 従来のDOS時代から、コンソール上でコマンドをマクロ化して連続実行するバッチファイル(*.BAT)が使われてきました。 昨今のウィンドウ・システムの登場によりコマンドライン(コンソール)は、 Windows95以降から無くなってしまうという噂もありました。 しかし現在もマイクロソフト自身が配布するツールもコマンドラインをベースにしたものが多く、 プロフェッショナルなプログラマーの多くは、 コマンドライン上でバッチファイルを作成して作業の効率を上げているのが現状です。 (※このページを公開して以来、 TRYCUTユーザーとは全く関係ない方々からバッチファイル作成方法に関する質問が来ます。)
TRYCUT2000/3000/5000の起動形式(特に/X5 や /X6 オプション)も、 このバッチファイルの中に記述して実行できるようにし、少しでも自動化できるようにとの目的で用意しているものです。 このバッチファイルとTRYCUT2000/3000/5000の起動形式さえマスターすれば、 シミュレーション作業の様々な自動化が行えるものと思います。 また更にシミュレーション前のCAMシステムやシミュレーション後のDNC処理などもコマンドライン起動ができるなら、 さらに進化した環境が構築できるはずです。 ※コマンドラインで作業するには、まずは
Windows95,98,Meにおいては、
WindowsNT4.0,2000,XP,それ以降のOSもほぼ同様 を起動して下さい。頻繁に実行する場合は、上のようにフォーカスが当たっている 状態で右クリックして「送る」->「デスクトップ」を選択し、デスクトップにショートカットを作成しておいていただくと再起動が簡単で便利です。
<バッチファイルの作り方> 1.バッチファイルは拡張子(*.BAT)のファイルで作ります。 2.テキスト形式のファイルですのでnotepadや秀丸エディターなどの デキストエディターで記述します。 3.%1 %2 %3 は、引数の文字列として利用できます。 <バッチファイルの例> [機能例] ワーク形状と、粗どり・中仕上げ・仕上げの3つのNCデータを指定して、 それぞれの必要突出し長と、加工時間、加工長さをログに残し、 またそれぞれの工程の加工形状も保存するという処理をいっきに実行する。
[前提]
[起動フォーム]
[出力例]
※/X5 のところを /X6 に変更すれば、TRYCUT2000/3000は最小化された状態で実行されます。
また補足になりますが、FIND処理の結果、
指定文字列が見つかっていたか否かで処理の分岐を行いたいことがよくあります。
このような場合は"IF ERRORLEVEL"を利用することができます。 例えば、以下のような流れで記述できます。
FIND "文字列" 検索ファイル名
上記例では、NCデータ名称の拡張子は(.NC)で、 引数指定では省略することが前提です。また、それぞれの加工結果は、 指定されたNCファイル名称と同じで、 拡張子がDMFになったファイルとして残されます。このあたりの仕様は、 バッチファイルの記述方法により、どうにでも変更できます。 また、上記例のようなコマンドだけでなく、結果によってはDNCコマンドなどに直結させたり、 プリンター出力など、自由にカスタマイズすることも可能です。 [バッチファイル作成例] ここではNCデータの編集用に一般的なバッチファイルの作成例を紹介させていただきます。 機能:複数のNCデータを結合するバッチファイル 処理内容:各々のNCデータの%とM30を取り除いて連結し、先頭に%、最後にM30と%を付加する。 サンプルソース(join.bat): set MOJI=%1 set NCDATA=join.nc echo %MOJI% >%NCDATA% :STARTJOIN IF "%2" =="" GOTO ENDJOIN TYPE %2 | FIND /V "%MOJI%" | FIND /V "M30" >> %NCDATA% SHIFT GOTO STARTJOIN :ENDJOIN echo M30 >>%NCDATA% echo %MOJI% >>%NCDATA% 実行形式は、 join 開始終了コード NC名1 NC名2 NC名3 ,,, [Enter] ※開始終了コードは % です。 バッチファイル内では%が使えないので外部引数からの指定にしています。 ※NCデータはいくつでも指定できます。 例えば、 join % nc1.nc nc2.nc nc3.nc nc4.nc nc5.nc [Enter] のように実行すると、実行したフォルダ内にjoin.ncが作成されます。 このjoin.ncを使用して引き続きTRYCUT2000/3000でシミュレーションさせる場合には、 最後の行に C:\TRYCUT2000\TRYCUT /x4 join.nc などのような行を追加してみて下さい。 なお、さらに高度なバッチファイルを作りたいという方は、 「コマンドプロンプトを使ってみよう」などを読まれるとか、 ベクターのダウンロード・サイトなどに掲載されている、 Windows上で動作するUNIXライクツール(フリーソフト)や各種UNIX系コマンドツール(grep,sed,awk etc...)を併用されると、 より強力なものが作りやすくなると思います。 ただし、これらは対応されていないコマンドもありますので、 もっと積極的にUNIXコマンドを利用したいという場合は以下のCygwinの利用もお薦めします。 TRYCUT2000/3000を利用する上で「こんなことをしたいけど、どうすれば?」というようなものがありましたらこちらまで、 ご質問下さい。答えられる範囲内で回答させていただきます。
[UNIXのシェルを利用したい方に朗報] ★Cygwin バッチファイル作成者で、もしUNIXやLinuxの強力なシェル環境を経験された方であれば、 バッチファイルをベースに考えるのではなく、 UNIX(Linux含む)のシェルのような環境で実行してみたいという願望が沸いてくるかもしれません。 また、そうでなくともバッチファイル内で記述できるコマンドに不足を感じる方であれば、 Cygwinを利用するのも得策です。 フリーソフトでGPLを理解した上で利用する必要がありますが、 保証がないとは言っても実績は十分で大変優れものです。 CygwinはWindows上でファイルシステムに変更を加えることなくUNIX環境を実現してくれます。 シェルを利用する場合も基本的にはバッチファイルと同じようにコマンド列を記述して実行するのですが、 UNIXコマンドは数段ハイレベル(条件分岐、ループ、文字列検索、ソート、置換など)な処理が行えます。
※参考までに、Cygwin関連の以下2サイトを紹介しておきます。 ★Windows Services for UNIX もうひとつの手段として2004年にマイクロソフトが無償公開したWindows上で動作する Windows Services for UNIX (SFU) 3.5があります。 インストール後、スタートメニューにCシェル環境が登録されます。 この環境も使いこなせばCygwin同様の能力を発揮するはずです。 また日本語版も正式に公開されていますのでより使いやすくなっているかもしれません。 ただしインストールできるのは32bit Windows上だけのようです。 64bit Windowsへの対応がどうなるかはわかりません。
|