Jun 27, 2013

NirCmdの最低限の使い方



前のページでNirCmdを紹介したのですが、日本語のリソースがほぼないですね。
しょーがねーな、ととりあえずざっと訳します。
いま翻訳ツールあるから余計なお世話っぽいけど。
以下抜粋。(現在のバージョンは2.86)
ユーティリティというよりはもうシェルといっていい多機能ぶり。

(★★★注:強力すぎて悪用されるとマズイ、という面もあります。リスクは自己責任で。) 

↓以下翻訳です。

●ライセンス

このユーティリティはフリーウェアとしてリリースされています。
このユーティリティを自由に配布することができます。フロッピーディスク、CD-ROM、インターネット、その他どんな方法でも――代金を請求しない限り。ただ配布する場合、配布パッケージにファイルをすべて(修正することなしに)含めること!



●NirCmd ユーティリティの使い方

このユーティリティはスタンドアロンで実行可能なファイルで、インストール作業や追加DLLを必要としません。
あなたの好きなフォルダに実行ファイルをコピーして、必要なオプションをつけて実行してください。
windowsディレクトリ、あるいはPATH環境変数にリストされているフォルダにNirCmd(nircmd.exe)の実行ファイルをコピーすることを推奨します。そうすればnircmdのフルパスを毎回タイプしなくてもすみます。
バージョン1.50からは、コンソール・バージョンのNirCmd(nircmdc.exe)が利用可能です。
コンソール・バージョンでは、すべてのエラーメッセージがメッセージボックスを使わずに、コンソール・ウィンドウに表示されます。

Image_computer/nircmdc.png

(訳者注)とはいうものの、このユーティリティは基本的に応答なんか出さないサイレントな使い方が多いと思うので、どっちを使ってもいいと思います。


●NirCmdの基本的文法

nircmd.exe {showerror} [コマンド] [引数]
(書式の[]は必須、{}は省略可能です。次のページのコマンドリスト解説でも同じ)

showerrorパラメータはオプションです。
このパラメータを指定すると、コマンドの実行の間にエラーが発生した場合、エラーメッセージがスクリーンに表示されます。
指定しなければエラーは無視されます。
例:
nircmd.exe showerror rasdial"dial1"
nircmd.exe rasdial「dial1」
2つの例において、NirCmdは、「dial1」エントリーでダイヤルしようとするでしょう。
ダイヤルするプロセスが最初の例で失敗すれば、その問題について記述するエラーメッセージが表示されます。
ダイヤルするプロセスが二番目の例で失敗しても、エラーメッセージは表示されません。

●特殊文字シーケンス
バージョン1.20から、NirCmdコマンドの任意のパラメータに特殊文字を挿入することができます。
次の表で、使用できる特殊文字シーケンスについて記述します:
シーケンス記述

~n 改行文字 (CR-LF)
~q ダブルクォート: "
~t タブ文字
~xnn 2桁の16進数でasciiコードを表すことにより、どんな文字も表現できます。 例: ~x41 ('A'), ~x27 (シングルクォーター文字)
~$variable$ システム変数を表します。 このオプションにはより詳細な情報があります。そちらも参考にしてください。
~~ ひとつの '~'文字を表します。(エスケープ)

例:
infobox "This is the first line~n~qThis is a second line, in quotes~q" "Example"
上記の例は、(改行文字を入れることによる)2行のメッセージボックスを表示します。


●システム変数

バージョン1.40から、NirCmdは特殊なシステム変数が使用可能です。システム上のフォルダ、変数を表します。
変数は「~」文字で始まり、「$」文字で囲まれた変数名を後に続けます。
例えば、~$folder.desktop$はあなたのデスクトップ・フォルダを表します。
次の表は、使用可能な変数を示します:

・clipboard
 クリップボードにコピーしたテキストを表します。

・param.param name
 param変数を指定すると、この変数に代入する文字を入力するように促します。入力された文字はパラメータに置換され、コマンドラインで機能します。
例:次のコマンドでは、2つのパラメータ(param.1とparam.2)を入力するように促され、入力したテキストがメッセージボックスに反映されます。
nircmd infobox ~$param.1$ ~$param.2$

・fparam.number
 パラメータをテキストファイルからロードします。詳細は、paramsfileコマンドを参照してください。

・sys.varname
 システム上の環境変数を表わすためにこのオプションを使用することができます。
例えば:~$sys.username$、~$sys.windir$、~$sys.computername$、~$sys.logonserver$、~$sys.temp$など...

・nir.exefile
 現在実行しているNirCmdのフルパスを表します(例: c:\winnt\nircmd.exe)

・loopcount
 loopコマンドを使っているときにループのカウント数を表します。

・currtime.TimeFormat
 現在の時刻を示します。フォーマットは'TimeFormat'で指定します。例: ~$currtime.HH_mm_ss$
 フォーマットについてより情報がほしければcurrtime formatセクションをご覧ください。

・currdate.DateFormat
 現在の日付を示します。フォーマットは'DateFormat'で指定します。例: ~$currdate.MM_dd_yyyy$
 フォーマットについてより情報がほしければcurrdate formatセクションをご覧ください。

・folder.nircmd
 NirCmd実行ファイルのあるフォルダを表します。

・folder.desktop
 ユーザーのデスクトップフォルダを表します。

・folder.start_menu
 ユーザーのスタートメニューフォルダを表します。

・folder.programs
 ユーザーのプログラムフォルダを表します。 (スタートメニューの下).

・folder.startup
 ユーザーのスタートアップフォルダを表します。

・folder.recent
 ユーザーのRecentフォルダを表します。

・folder.favorites
 ユーザーのお気に入りフォルダを表します。

・folder.cookies
 ユーザーのcookiesフォルダを表します。

・folder.appdata
 ユーザーのアプリケーションデータフォルダを表します。(例: C:\Documents and Settings\Administrator\Application Data)

・folder.common_desktop
 パブリックのデスクトップフォルダを表します。

・folder.common_start_menu
 共通のスタートメニューフォルダを表します。

・folder.common_programs
 共通のスタートメニューのプログラムフォルダを表します。

・folder.common_startup
 共通のスタートアップフォルダを表します。

・folder.common_favorites
 共通のお気に入りフォルダを表します。

・folder.windows
 Windowsフォルダを表します。(例: C:\Windows)

・folder.system
 システムフォルダを表します。(例: C:\Windows\System32)

・folder.programfiles
 Program Filesフォルダを表します。(例: C:\Program Files)

・folder.common_programfiles
 共通のProgram Filesフォルダを表します。(例: C:\Program Files\Common)

・folder.mydocuments
 マイドキュメントフォルダを表します。
 


●使用例:

スタートメニューにショートカットを作る(My ProgramsフォルダにCalculatorという名前で):
shortcut "c:\windows\system32\calc.exe" "~$folder.programs$\My Programs" "Calculator"
デスクトップにあるショートカットを削除:
execmd del "~$folder.desktop$\calc.lnk"
現在ログオンしているユーザーを表示:
infobox "The current logged-on user is ~$sys.username$" "logged-on user"
スクリーンショットを現在の日付と時刻を名前にして保存する:
savescreenshot c:\temp\scr~$currdate.MMddyyyy$-~$currtime.HHmmss$.png


●currtime Format(TimeFormat文字列)
TimeFormat文字列は次の要素を含んでいます:(format文字列は大文字・小文字を区別します!)

・h 時が一桁の場合、ゼロが前につきません。(12時間の時計)
・hh 時が一桁の場合、ゼロが前につきます。(12時間の時計)
・H 時が一桁の場合、ゼロが前につきません。(24時間の時計)
・HH 時が一桁の場合、ゼロが前につきます。(24時間の時計)
・m 分が一桁の場合、ゼロが前につきません。
・mm 分が一桁の場合、ゼロが前につきます。
・s 秒が一桁の場合、ゼロが前につきません。
・ss 秒が一桁の場合、ゼロが前につきます。
・t 一文字で午前か午後か示します。(A or P)
・tt 複数文字で午前か午後か示します。(AM or PM)


●currdate Format(DateFormat文字列)
DateFormat文字列は次の要素を含んでいます:(format文字列は大文字・小文字を区別します!)

・d 日が一桁の場合、ゼロが前につきません。
・dd 日が一桁の場合、ゼロが前につきます。
・ddd 曜日を短縮形で表示します。
・dddd 曜日を表示します。
・M 月が一桁の場合、ゼロが前につきません。
・MM 月が一桁の場合、ゼロが前につきます。
・MMM 月を短縮形で表示します。
・MMMM 月を表示します。
・y 年を後ろ二桁で表し、10に満たない場合でもゼロがつきません。
・yy 年を後ろ二桁で表し、10に満たない場合はゼロがつきます。
・yyyy 年を四桁で表します。


コマンドは次のページに回します。

 
エントリを編集・・・

wikieditish メッセージ: Ready to edit this entry.
















A quick preview will be rendered here when you click "Preview" button.