[タイトル] choice バッチプログラムでユーザーにキーを選択させます dkecho メッセージを改行無しで表示します dkerrlvl ERRORLEVELを確認します readline 1行だけ入力します [使用許諾契約書] 本使用許諾契約書(以下、本契約書)は利用者と作者との間に締結される契約書です。 作者から使用許諾されたソフトウェア(プログラム、データ、電子的なドキュメント などを含みます)(以下、本ソフトウェア)は法律等により保護されています。 本ソフトウェアはライセンスされるものであり販売されるものではありません。 利用者が本契約書に同意されない場合本ソフトウェアの使用や複製を行うことは できません。本ソフトウェアを速やかに削除してください。 本ソフトウェアを使用された場合利用者は本契約書に同意したものとみなします。 本ソフトウェアは現状のまま提供され不具合を含んでいる可能性があります。 本ソフトウェアの品質、動作、正確性その他一切のリスクは利用者が負うものと します。 作者は本ソフトウェアの品質などの一切の保証をしません。 本ソフトウェアをリバースエンジニアリング、逆コンパイル、逆アセンブルすることは できません。ただしこの制限にかかわらずそのような行為が法律で認められている場合 は除きます。 法律で禁止される場合を除き作者は本ソフトウェアの使用によるいかなる損害に ついても責任を負いません。 いかなる場合も作者が責任を負う損害賠償額は利用者が作者に支払った該当ライセンス の本体価格を超えないものとします。利用者手数料、送料等は賠償額に含みません。 [機能説明] choiceはMS-DOS,Windows 95/98/Meに含まれるchoice.comのWindows NT/2000/XP用 の代用品です。 dkechoはechoの改行無しバージョンです。 dkerrlvlはバッチで参照するERRORLEVELを確認するツールです。 ERRLVL.BATはdkerrlvl.exe相当の機能をバッチで実現するWindows NT/2000/XP用 サンプルです。 readlineは標準入力を1行読み取り、標準出力します。 choice [/c[:]choices] [/n] [/s] [/t[:]c,nn] [text] バッチプログラムでユーザーにキーを選択させます。選択肢にないキーを入力すると BEEP音を鳴らします。 選択したキーのインデックスをERRORLEVELに返します。 dktest.batはchoiceの使用例です。 /c[:]choices choicesには選択肢となるキーを指定します。規定値はYNです。 /n プロンプトの終わりに選択肢と?を表示しません。 /s 選択キーの大文字と小文字を区別します。 /t[:]c,nn nn秒経過した後の選択肢の既定値をcに設定します。 text 表示するプロンプトを指定します。 例 E:\CHOICE>choice /cAB "choice " choice [A,B]?A MS-DOS付属のchoice.comと完全互換ではありません。 MS-DOSのchoice.comに対して仕様を変更している項目があります。 例 空白を含むtextの一部を""で囲んだ場合MS-DOS付属のchoice.comはエラーになります。 本choiceは""を除いて表示します。 E:\CHOICE>E:\DOS\dos6supp\CHOICE.COM "a" b CHOICE: only one prompt string allowed. Expected Form: CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] [text] E:\CHOICE>DOS\choice.com "a" b a b[Y,N]?Y 本choiceはMS-DOS付属のchoice.comと同様にスペースの数を保存しますが、""で 囲んだ場合の動作が異なる場合があります。 E:\DOS\dos6supp\CHOICE.COM /ta,4 "c d e" /cab c d e[A,B]?A E:\CHOICE>NT\CHOICE.exe /ta,4 "c d e" /cab c d e [A,B]?A /c[:]choicesで/を/cのchoicesの最後かつ他のパラメータと分ける場合に選択肢として 使えます。""で囲む場合はスペースも選択肢として使えます。 例 E:\CHOICE>E:\DOS\dos6supp\CHOICE.COM /c:ab-/s/ta,4 a b a b[a,b,-]?a E:\CHOICE>DOS\choice.com /c:ab-/s/ta,4 a b a b[a,b,-]?a E:\CHOICE>DOS\choice.com /c:ab-/ /s/ta,4 a b a b[a,b,-,/]?/ /t[:]c,nnでcに,を指定できます。""で囲む場合はスペースを指定できます。 E:\CHOICE>E:\DOS\dos6supp\CHOICE.COM a b c /ty,1/cyn a b c [Y,N]?Y E:\CHOICE>DOS\choice.com a b c /ty,1/cyn a b c [Y,N]?Y E:\CHOICE>DOS\choice.com a b c "/t ,1/cyn ,/" a b c [Y,N, ,,,/]? dkecho [msg] メッセージを改行無しで表示します。 改行はecho.で行います。 例 ONという一行を表示したい場合dkecho.exeとechoを組み合わせます。 dkecho ON echo. dkerrlvl program [args] プログラムを実行し、ERRORLEVELを表示します。 program 実行するプログラムを指定します。 args プログラムのパラメータを指定します。 プログラムとして内部コマンドは実行できません。 例 dkerrlvl choice /c:yYnN /n /s "choice [Y,N] ? " [動作環境] DOS版 DOS\*.* MS-DOS,Windowsの起動disk,WindowsのMS-DOSモード WIN32版 NT\*.* Windows 95/98/Me/NT/2000/XP DOSディレクトリにあるchoice.comとchoice.exeはどちらも同じ機能です。 .comファイル(tiny model)か.exeファイル(small model)かの違いだけです。 [参考情報] Windows XPはDOSブートFDを作成可能ですが、DOSで動作するchoiceは付属して いません。 Windows 2000 CD-ROMからInoculateIT AntiVirus AVBoot V1.1を実行するための MS-DOS 6.2ブートFDを作成することができます。このブートFDにはDOSで動作する choice.comが付属しています。 英語版のMS-DOS choice.com,Windows 98,NT 3.1,NT 3.5 choice.exeはMicrosoftから ダウンロード可能です。 ・Microsoft社の無償ダウンロードソフトウェアの再頒布 http://www.microsoft.com/japan/legal/permission/copyrgt/cop-soft.htm#Free ・Microsoft社のソフトウェアの一部分の再頒布 http://www.microsoft.com/japan/legal/permission/copyrgt/cop-soft4.htm#Portions ・ダウンロード MS-DOS 6.22 Supplemental Disk: Description and how to obtain http://support.microsoft.com/kb/117600/EN-US/ http://download.microsoft.com/download/win31/update/1/dos/en-us/sup622.exe ftp ftp://ftp.microsoft.com/Services/TechNet/Windows/msdos/RESKIT/SUPPDISK/CHOICE.COM Windows 98 Reskit ftp://ftp.microsoft.com/Services/TechNet/samples/PS/Win98/Reskit/SCRPTING/CHOICE.EXE Windows NT 3.1 Reskit ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt31/i386/reskit.exe Windows NT 3.5 Reskit ftp://ftp.microsoft.com/bussys/winnt/winnt-public/reskit/nt35/i386/i386.exe ・Resource Kit Windows Server, 2003 http://www.microsoft.com/resources/documentation/windowsserv/2003/standard/proddocs/en-us/choice.asp Windows 2000 Server (Small Business Server 2000) http://www.microsoft.com/Resources/documentation/SBS/2000/all/reskit/en-us/sbrkapxf.mspx Windows NT 4.0 Server http://www.microsoft.com/technet/prodtechnol/winntas/support/rku4list.mspx Windows NT 3.1 http://support.microsoft.com/kb/115139/EN-US/ Windows 98 http://support.microsoft.com/kb/247024/EN-US/ ・choice.com Windows Millennium Edition http://support.microsoft.com/kb/272610/EN-US/ Windows 98 Second Edition http://support.microsoft.com/kb/238749/EN-US/ Windows 98 http://support.microsoft.com/kb/188433/EN-US/ http://support.microsoft.com/kb/191057/ Windows 95 OEM Service Release 2 http://support.microsoft.com/kb/158210/ Windows 95 http://support.microsoft.com/kb/141603/ http://support.microsoft.com/kb/135544/ MS-DOS http://www.microsoft.com/technet/archive/msdos/comm1.mspx ・REPLY.COM (MS-DOS) Accepting Keyboard Input in Batch Files http://support.microsoft.com/kb/77457/EN-US/ ・起動ディスク Windows 2000 で DOS 起動ディスクを作るには? http://homepage2.nifty.com/winfaq/w2k/boot.html#952 Windows XP 起動フロッピー ディスクを作成する http://www.microsoft.com/japan/windowsxp/expertzone/tips/august/renken1.asp Windows XP MS-DOS 起動ディスクを作成しようとするとエラーメッセージが表示される http://support.microsoft.com/kb/311385/ 日本語キーボードを使用して英語DOS上でよく使うバックスラッシュ、コロンの入力方法 http://www-6.ibm.com/jp/domino04/pc/support/beginner.nsf/btechinfo/SYB0-03CDA4E [作者連絡先] 作者Webページ http://hp.vector.co.jp/authors/VA007219/ contact address 連絡先メールアドレス http://hp.vector.co.jp/authors/VA007219/#contact contact.zipを展開してください。 [その他] Copyright (C) 2004-2005 by VA007219. 本ソフトウェアは使用許諾契約書に同意する場合に使用することができます。 本ソフトウェアのアーカイブを無変更で再頒布する場合は作者の許諾が不要です。 本ソフトウェアの一部を取り出して使用し再頒布する場合は、本ソフトウェアの アーカイブを無変更で添付して再頒布するなら作者の許諾は不要です。 本ソフトウェアの一部だけの再頒布は許諾しません。 例 dkclonesup.zip 再頒布可(作者の許諾は不要) choice.com + dkclonesup.zip 再頒布可(作者の許諾は不要) choice.com単体 再頒布不可(許諾しない) 個人が本ソフトウェアを入手し当人が使用するのは再頒布にはあたりません。 本ソフトウェアはdkcloneのサポートツールとして作成しています。 dkcloneのシェアウェア登録をした場合はdkcloneの一部として扱います。 dkcloneについては http://www.vector.co.jp/soft/win95/util/se337411.html を 参照願います。 2版ではchoiceで空白を含むtextを""で囲んでいない場合一つ目の単語しか表示しない 問題を修正しました。また何点かMS-DOSのchoice.comとの互換性を改善しました。 3版ではDOS版で/tで328秒以上を指定すると不正動作する問題を修正しました。 4版ではBEEP音を追加しました。矢印キーなどを無視するようにしました。 最新版は作者連絡先Webページよりダウンロードしてください。 不具合の報告、要望等ありましたら作者連絡先Webページに記載のアドレスにメールを ください。ただし対応できるとは限りません。