バッチファイルで呼び出して、値をバッチに渡すには


超初心SHA  2010-02-09 06:50:56  No: 37493

バッチファイルで外部コマンドを実行して、その結果を環境変数に代入して...みたいなことをやりますよね?
で、ある目的を実現するためのコマンド(コンソールプログラム)をdelphiで作成しようと思っています。
そして、そのプログラムをバッチから呼び出して値を取得する〜という流れを実現したいのです。
でも、普通に作ったコンソールアプリでは標準出力(画面)に表示されるだけです。

一例として、日付計算プログラム「MyDate.exe」を作ったとして、

--------------------------------
:日付計算を実行
for /f "usebackq delims==" %%i in (`MyDate.Exe`) do set dt=%%i

:日付を表示
echo %dt%
--------------------------------

みたいな感じです(実際にはもっと複雑な処理をします)。

何か方法があるのでしょうか。

http://xoops.hypweb.net/modules/tagmemo/172.htm

を参考にしてみましたが、やはり画面に表示されるだけです。
turbo delphi エクスプローラを使っています。


パイプを  2010-02-09 07:28:20  No: 37494

利用してコンソールプログラムの標準出力をMemoなどに取り込んでみたら?
https://www.petitmonte.com/bbs/answers?question_id=6682


D  2010-02-09 08:40:53  No: 37495

>http://xoops.hypweb.net/modules/tagmemo/172.htm
>を参考にしてみましたが、やはり画面に表示されるだけです。

  リンク先は標準エラーへの出力の例ですが、確か標準エラーは画面に出力するだけだったと思います。
リダイレクトやパイプで利用するなら標準出力へ出力しないとうまくいかないんじゃないかと思います。

一応念のため。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加