[前の記事]« 自作ソフト内からのdirコマンド実行でファイルリストが更新されない
[次の記事]定義ファイルを使った環境変数の一括設定 »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「バッチファイルの文法と環境変数」索引へ

[NT系]BU(BATUTY)が使えません

226.
BU(BATUTY)が使えません
2005年01月26日(水) 11時32分
こめこめ
DOSで動くバッチを作る必要があって、初めてBU(BATUTY)を使って
みたのですが、"BU -nTEST RANDOM"などのコマンドを打ってみて
も、プロンプトが戻るだけで、%TEST%には何も定義されません。
また、"BU DSPDATE"や"BU DSPTIME"では出力結果は画面表示されま
すが、"BU CLOCKYEAR"や"BU CLOCKMONTH"などでは、プロンプトが
戻るだけで、画面表示すらされません。
初心者で申し訳ありませんが、BUコマンドを使用するためには、何か設定が必要なのでしょうか?
・使用OSはWindowsXPとWindows2000です。
(両方試したのですが、結果は同じでした・・・・。)
・ダウンロードしたBU.COMは、SYSTEM32のフォルダの下に入れま
した。
・DOS窓は、『スタート』⇒『ファイル名をして実行』から
『cmd』コマンドで起動したものを使っています。
以上、御教示頂ければ幸いです。
229.
Re:BU(BATUTY)が使えません
2005年01月26日(水) 17時52分
otn
>DOSで動くバッチを作る必要があって、初めてBU(BATUTY)を使って
>みたのですが、"BU -nTEST RANDOM"などのコマンドを打ってみて
>も、プロンプトが戻るだけで、%TEST%には何も定義されません。

BUは元々DOS用なので、NT系のWin2000やWinXPでは一部の機能が使えません。少なくとも環境変数への値セットは出来ないようです。

BUを使ったDOSバッチファイルを書いて、
command /e:4096 /c test.bat
のようにcommand.comで起動してやるとそのバッチ内では環境変数に値がセットされ、バッチ内では参照できます。外側の環境変数には影響しませんが。

>また、"BU DSPDATE"や"BU DSPTIME"では出力結果は画面表示されま
>すが、"BU CLOCKYEAR"や"BU CLOCKMONTH"などでは、プロンプトが
>戻るだけで、画面表示すらされません。

BU CLOCKYEAR は、年の下2桁をERRORLEVELにセットする命令なので、何も画面表示されないのがBUの仕様です。
BU -e CLOCKYEAR
と、-eオプションをつければ表示出来ます。

上記の、BU -nTEST RANDOM もTESTにRANDOMの結果をセットしたいなら、-e オプションが必要です。

Win2000やWinXPでは、set /? を読めば、乱数や日時、数値演算、行入力、部分文字列等については標準機能でサポートされていることが分かると思います。
231.
Re2:BU(BATUTY)が使えません
2005年01月26日(水) 18時43分
こめこめ
早々の御回答、誠にありがとうございます。

>command /e:4096 /c test.bat
これは早速ためしてみたいと思います。

>Win2000やWinXPでは、set /? を読めば、乱数や日時、数値演算、行入力、
>部分文字列等については標準機能でサポートされていることが分かると思います。
本当にやりたいことは、キーボードから入力した値を環境変数にセットする
ということで、SET/Pが使えれば問題無いようなのですが、作成したバッチ
を、Win-NT上でも使用しなければならず、何か他の手段を探しているところで、
BATUTYに巡り会えた、という次第です。
233.
Re3:BU(BATUTY)が使えません
2005年01月27日(木) 00時05分
otn
>早々の御回答、誠にありがとうございます。

>>command /e:4096 /c test.bat
>これは早速ためしてみたいと思います。

>>Win2000やWinXPでは、set /? を読めば、乱数や日時、数値演算、行入力、
>>部分文字列等については標準機能でサポートされていることが分かると思います。
>本当にやりたいことは、キーボードから入力した値を環境変数にセットする
>ということで、SET/Pが使えれば問題無いようなのですが、作成したバッチ
>を、Win-NT上でも使用しなければならず、何か他の手段を探しているところで、
>BATUTYに巡り会えた、という次第です。

それだけのことであれば、16bitプログラムを引っ張り出さなくても、
Cで、fgets(buf,sizeof buf,stdin);fputs(buf,stdout); というだけのプログラムlineを作って、
for /f %%A in ('line') do set LINE=%%A
というのはどうでしょう。フリーのCもありますし。

こういう仕様のlineコマンドって、unix系OSのいくつかにあります。
234.
Re4:BU(BATUTY)が使えません
2005年01月27日(木) 00時14分
こめこめ
>それだけのことであれば、16bitプログラムを引っ張り出さなくても、
>Cで、fgets(buf,sizeof buf,stdin);fputs(buf,stdout); というだけのプログラムlineを作って、
>for /f %%A in ('line') do set LINE=%%A
>というのはどうでしょう。フリーのCもありますし。

>こういう仕様のlineコマンドって、unix系OSのいくつかにあります。

本当にありがとうございます。ただ、如何せん浅学のため、御教示頂いた内
容の理解と実行に足る知識がありません。申し訳ありません。
前回教えて頂いた方法で、今修正を図っているところですが、何とか上手く
いきそうです。本当に助かりました。
236.
Re4:BU(BATUTY)が使えません
2005年01月27日(木) 20時09分
こめこめ
otnさんへ。
BUを書き込んだバッチをcommandで走らす方法で、何とか所望のものができあがり
ました。本当にありがとうございました。
 
 


カテゴリー「バッチファイルの文法と環境変数」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2005年01月26日 08:09に投稿されたエントリーのページです。

ひとつ前の投稿は「自作ソフト内からのdirコマンド実行でファイルリストが更新されない」です。

次の投稿は「定義ファイルを使った環境変数の一括設定」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート