• 締切済み

ログ出力したい

mysqlで、テーブルの作成と初期値の登録をバッチファイルをダブルクリックして実行しています。しかし、あっという間に黒い画面が閉じてしまい、うまくいったのエラーになったのかさっぱり分かりません。 ログを出力したいのですが、 echo error message >> C:\log\result.log と書くと、指定の場所にresult.logは出来ているのですが、そのファイルを開くと、 error message としか書かれていません。 どうしたらよいのか教えてください。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

>私には難しくて、まだ理解できていませんが・・・。 私の理解がまちがっているのかもしれませんが、 hoge.batというバッチファイルを実行しているのですよね? であれば#2で書いたように (1)中身をカッコで囲む (2)ファイルの最後の行に以下記載する >>C:\log\result.log 2>&1 たぶん、バッチファイルの基本をご理解なさっていないのだと思います。 学習するか、別の方法を模索された方がよいかもしれません。 (もっと難しいかもしれませんがWSHなどの方がイメージはしやすい)

tohiyu
質問者

お礼

解決しました。 ありがとうございました。

tohiyu
質問者

補足

ご指摘いただきました通り、やはりもっと学習します。 なかなかついて行けずに申し訳ありません。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

標準エラー出力を理解していないのかと 2>&1で標準出力にリダイレクトしてやればいいのですが こつを覚えるまで多少難解かも たとえばhoge.batを以下のように書きます。 @echo off (echo aaa xxx echo bbb yyy echo ccc )>log 2>&1 記入後hogeを実行すると標準出力のaaa、bbb、cccに挟まれて、 コマンドではないxxxとyyyのエラーが併せてlogに書き込まれます。 しかしこれがMySQLとどうかかわっているのかは質問者さんにしかわかりません

tohiyu
質問者

補足

ありがとうございます。すみません、私には難しくて、まだ理解できていませんが・・・。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

windows? 最後の行に「pause」をかいてみては?

tohiyu
質問者

補足

ありがとうございます。 最後の行に「pause」をかいたら、勝手に閉じなくはなりました。 あと、ログファイルの方が、 error message としか書かれておらず、 結果がわかりません。どう書けばよいですか?

関連するQ&A