[前の記事]« バッチ処理の1行目終了前に2行目が実行されてしまう!?
[次の記事]net use を使ってネットワークドライブの名前を変更したい »

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

▲カテゴリー「FOR .. IN ( ) DO..」索引へ

プロンプトからは実行できるFOR文が、バッチファイル化すると動かない


749) FOR文のBAT化 ぎゅう 2003/10/29(水) 14:56


こんにちわ
初歩的な質問で申し訳ないのですがご存知の方教えてください。
今下記のような、コマンドをコマンドプロンプトより実行すると正常に実行できます。
FOR /L %i IN (01,1,47) DO sqlplus dbo2/***@test01 @C:\WORK\対応表\20030925\対応表作成コマンド群\spool_0011_AC.sql %i

ところが、このコマンドをバッチファイルにしてバッチを実行しようとすると、コマンドプロンプトがほんの一瞬表示されたきりで、内容が実行されません。
どのように指定したらバッチファイルとして実行することができるのでしょうか?
よろしく願いいたします。


751) Re:FOR文のBAT化 ふぇむ 2003/10/29(水) 16:04


>今下記のような、コマンドをコマンドプロンプトより実行すると正常に実行できます。
>FOR /L %i IN (01,1,47) DO sqlplus dbo2/***@test01 @C:\WORK\対応表\20030925\対応表作成コマンド群\spool_0011_AC.sql %i

>ところが、このコマンドをバッチファイルにしてバッチを実行しようとすると、コマンドプロンプトがほんの一瞬表示されたきりで、内容が実行されません。

バッチファイルにする時は、for 文の %i のような変数は %%i と % を2つ重ねないといけませんが、その修正はなされていますでしょうか。

また、「一瞬で消える」ということはマウスのダブルクリックで起動されています? そうではなくて、コマンドプロンプト上で実行すると、標準出力も標準エラー出力も画面上に残ると思います。

また、

バッチファイル > ログファイル 2>&1

のように起動する(またはそのようなもう1段外側のバッチをつくる)とすると、標準出力も標準エラー出力もログファイルに残りますよ。それらを見ると、何 が起こっているのかわかるのではないでしょうか(もし内部で @echo off などしているならば、それもはずした方がよい)。




752) Re2:FOR文のBAT化 ぎゅう 2003/10/29(水) 16:28


ありがとうございました。
%を重ねたところ、うまく動くようになりました。
%%を重ねる必要があるということを知りませんでした。
またログの出し方も教えていただけて大変助かりました。



>>今下記のような、コマンドをコマンドプロンプトより実行すると正常に実行できます。
>>FOR /L %i IN (01,1,47) DO sqlplus dbo2/***@test01 @C:\WORK\対応表\20030925\対応表作成コマンド群\spool_0011_AC.sql %i
>>
>>ところが、このコマンドをバッチファイルにしてバッチを実行しようとすると、コマンドプロンプトがほんの一瞬表示されたきりで、内容が実行されません。

>バッチファイルにする時は、for 文の %i のような変数は %%i と % を2つ重ねないといけませんが、その修正はなされていますでしょうか。

>また、「一瞬で消える」ということはマウスのダブルクリックで起動されています? そうではなくて、コマンドプロンプト上で実行すると、標準出力も標準エラー出力も画面上に残ると思います。

>また、

>バッチファイル > ログファイル 2>&1

>のように起動する(またはそのようなもう1段外側のバッチをつくる)とすると、標準出力も標準エラー出力もログファイルに残りますよ。それらを見ると、 何が起こっているのかわかるのではないでしょうか(もし内部で @echo off などしているならば、それもはずした方がよい)。


 
 


カテゴリー「FOR .. IN ( ) DO..」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2003年10月29日 11:36に投稿されたエントリーのページです。

ひとつ前の投稿は「バッチ処理の1行目終了前に2行目が実行されてしまう!?」です。

次の投稿は「net use を使ってネットワークドライブの名前を変更したい」です。

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

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