ブログを作る※無料・簡単アフィリ    ブログトップ | 楽天市場
096352 ランダム
コマンド(バッチ)スクリプト解説… (パソコン・家電)楽天ブログ 【ケータイで見る】 【ログイン】
kiraruノートの《切れ端》
ホーム 日記 プロフィール オークション 掲示板 ブックマーク お買い物一覧

PR

カレンダー

2011年11月
  12345
6789101112
13141516171819
20212223242526
27282930   
<一覧へ今月次の月>

キーワードサーチ

カテゴリ

バックナンバー

モバイル

m ケータイに
このブログの
URLを送信!

 

書き留めておきたき事

<< 前へ次へ >>一覧コメントを書く

2005年08月07日 楽天プロフィール Add to Google XML

 コマンド(バッチ)スクリプト解説編 (1)
[ コマンドライン ]    

さて、のっけからコマンドスクリプトが続いたわけですが、
この辺で、各自カスタマイズできるように、少し解説を
加えておきましょう。
と言っても使用しているコマンドの完全な解説などは行いません。
あくまでも使用している範囲での即物的な解説に止めておきます。

もっとちゃんと勉強しようという人は、まずコマンドの調べ方を
覚えてください。
これには大きく2通りの方法があります。

■コマンドラインから調べる
 まず
  >help
 と入力し、次にコマンドの詳細を知りたいので
 >コマンド名 /? (または help コマンド名
 と入力します。

■ヘルプから調べる
 ●Windows2000
  [スタート]→[ヘルプ]→[リファレンス]
  →[Windows2000コマンドリファレンスメインページ]

 ●WindowsXP
  [スタート]→[ヘルプとサポート]
  →[ツール を使ってコンピュータ情報を表示し問題を診断する]
  →[コマンド ライン リファレンス]


では、始めます。

条件付き処理記号
1行に複数コマンドを条件付きで記述できます。
& cmd1 & cmd2 cmd1の次にcmd2が実行される
&& cmd1 && cmd2 cmd1が正常終了した場合cmd2が実行される
|| cmd1 || cmd2 cmd1が異常終了した場合cmd2が実行される
() (cmd1 & cms2) コマンドをまとめたりネストしたりする
;, cmd p1,p2 コマンドのパラメタを区切る


リダイレクト演算子
入出力先を切り替えます。
> 出力先をファイルやデバイスにする
< 入力をキーボードからにする
>> 出力を追加書き込みする
>& あるハンドル出力を別ハンドルに書き込む
<& あるハンドルからの入力を別ハンドルに書き込む
| パイプ。コマンド出力を別コマンド入力に接続する
ハンドルには、
stdin(0)
stdout(1)
stderr(2)
が定義されており、3-9はユーザー定義
dir | sort dirの出力をsortの入力にパイプ(フィルタ)
dir > c:\file.txt
dir 2> c:\file.txt
dir >> c:\file.txt
dir 1>> c:\file1.txt 2>> file2.txt
dir 1>> c:\file1.txt 2>&1


バッチパラメタ
コマンドファイルに渡されるパラメタを受け取れます。
%0%9まで使え、
%0は、コマンドファイル名に置き換わります。
%1-%9までで足りない場合はshiftコマンドを使います。
%*は、%0を除くすべてのパラメタを受け取ります。
パラメタを修飾することもできます。
%~1%1を展開し、二重引用符("")がある場合はこれを削除します。
%~f1%1を完全修飾パス名に展開します。
%~d1%1をドライブ文字に展開します。
%~p1%1をパスに展開します。
%~n1%1をファイル名に展開します。
%~x1%1をファイル拡張子に展開します。
%~s1展開されたパスにショート ネームだけを含めます。
%~a1 %1をファイル属性に展開します。
%~t1 %1をファイルの日付と時刻に展開します。
%~z1 %1をファイル サイズに展開します。
%~$PATH:1環境変数 PATH に指定されているディレクトリを検索し、%1を、最初に見つかったファイルの完全修飾名に展開します。環境変数の名前が定義されていない場合、またはファイルが見つからない場合、この変数は空の文字列に展開されます。

これは組み合わせることもできます。
%~dp1 %1をドライブ文字とパスに展開します。
また、この修飾は後ほど説明するforコマンドの変数にも使えます。


echo [on | off]
echo メッセージ
メッセージを表示します。
on(off)スイッチを指定すると、以降のスクリプトを表示(非表示)します。
改行のみしたい場合には、
echo.(またはecho: echo+ echo/ echo=など)
とします。
echo行自体を表示したくない場合は先頭に@を付けて@echo
とします。


set [変数名]=[文字列]]
set /A 式
set /P 変数名=[プロンプト文字列]
環境変数に文字列を代入します。
set 変数名=
とすると削除することを意味します。
/Aスイッチを付けると式を評価できます。
演算子には、
( ) ! ~ - * / % + - << >>などC言語ライクなものが
使えます。8進数や16進数も使えます。
/Pスイッチを付けると、キーボードからの入力を代入できます。
また、環境変数の内容を使う場合は%変数名%とします。
環境変数の展開・置換として、
%変数名:文字列1=文字列2% ;文字列1を文字列2に置換
%変数名:文字列1=% ;文字列1を削除
%変数名:~10,5% ;11文字目から5文字分(抜き出し)※ティルダ10カンマ5
%変数名:~-10% ;最後の10文字分(抜き出し)
%変数名:~0,-1% ;最後の1文字以外のすべて(抜き出し)
とか使うことができます。
forとかif文の複合文中で変更された環境変数の結果をさらに使いたい場合
は遅延環境変数の展開(!変数名!)を使います。
ただし、/V:ONオプションを付けてcmd.exeを起動するか
setlocal ENABLEDELAYEDEXPANSION
で拡張しておかなければ使えません。

また空白文字に注意してください。
set abc=xyz
set abc =xyz
は異なる変数です。
これは右辺の文字列に対しても同じことが言えます。
set abc= xyz

特殊文字(&,|,^,<,>)を文字列とするときはその前にエスケープ文字(^)
をつけます。
set abc=xxx^&yyy



最終更新日  2005年08月08日 07時13分57秒
コメント(0) | コメントを書く





■コメント

お名前
タイトル
メッセージ
・メッセージ本文は全角で800文字までです。
・書き込みに際しては楽天ブログ規約の禁止事項や免責事項をご確認ください
・ページの設定によっては、プルダウンで「顔選択」を行っても、アイコンが表示されません。ご了承ください。


<< 前へ次へ >>一覧コメントを書く一番上に戻る


Powered By 楽天ブログは国内最大級の無料ブログサービスです。楽天・Infoseekと連動した豊富なコンテンツや簡単アフィリエイト機能、フォトアルバムも使えます。デザインも豊富・簡単カスタマイズが可能!

Copyright (c) 1997-2012 Rakuten, Inc. All Rights Reserved.