DOBON.NETプログラミング道掲示板
(現在 過去ログ2 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■33583 / inTopicNo.1)  バッチで最新の環境変数を取得したい
  
□投稿者/ ぺんたごん 一般人(20回)-(2017/02/16(Thu) 20:18:50)
  • アイコン環境/言語:[Windows7以降] 
    分類:[その他] 

    ごぶさたしてます。
    今回、SQL Serverのインストールと.bakの復元を
    全自動実行するbatを組んでいます。

    sqlcmdで.bakを復元しようとすると、
    コマンドが認識されていないと言われ、一度バッチが終了して再実行すると
    認識されるようになります。ならばと思い
    sqlcmdを別バッチに切り出し、それをstartコマンドで
    別ウィンドウで実行させましたが同じ結果でした。

    追加変更された環境変数を、現在実行中のバッチ内で
    認識できるようリフレッシュするすべはあるのでしょうか

    どうかご教示お願い致します。明日の午前中には解決しないとマズイです…

    尚、C#等でコンソールアプリを作るのは許可されていません…
引用返信 削除キー/
■33584 / inTopicNo.2)  Re[1]: バッチで最新の環境変数を取得したい
□投稿者/ Azulean 大御所(481回)-(2017/02/16(Thu) 22:11:21)
  • アイコンNo33583に返信(ぺんたごんさんの記事)
    > sqlcmdで.bakを復元しようとすると、
    > コマンドが認識されていないと言われ、一度バッチが終了して再実行すると
    > 認識されるようになります。

    バッチ実行後には成功するようになると言うことから、環境変数を設定する場所がそのバッチのどこかにあると思われます。

    そのバッチのどこかに環境変数 PATH を設定するか、別のバッチを呼んでいる箇所がありませんか?
    それがあるのであれば、先頭の方に移動すれば成功するかもしれません。


    見つからない場合、「コマンドが見つかりません」と言われている exe のある場所を探し出し、バッチの先頭に set PAtH=%PATH%;c:\hogehoge といったように PATH に追加してやればいけるかもしれません。(c:\hogehoge は例です)
引用返信 削除キー/
■33585 / inTopicNo.3)  Re[2]: バッチで最新の環境変数を取得したい
□投稿者/ ぺんたごん 一般人(21回)-(2017/02/17(Fri) 08:17:07)
  • アイコンNo33584に返信(Azuleanさんの記事)
    > バッチ実行後には成功するようになると言うことから、環境変数を設定する場所がそのバッチのどこかにあると思われます。
    >
    > そのバッチのどこかに環境変数 PATH を設定するか、別のバッチを呼んでいる箇所がありませんか?
    > それがあるのであれば、先頭の方に移動すれば成功するかもしれません。

    ありません。
    SQL ServerのインストーラがPATHの変更をしてるので、
    バッチ側では何もしてません。

    先程も書いたように、バッチでやってることはたった2行です。
    ・SQL Serverのインストール
    ・sqlcmdを使用して.bakの復元

    @SQL ServerのインストールによってPATHが追記される
    Aしかしバッチはインストール前のPATHしか認識しておらず、SQL Serverインストール直後にsqlcmdが使えない
    Bバッチ内の任意のタイミングで最新のPATHを取得する手段はないだろうか

    というご相談です。
引用返信 削除キー/
■33586 / inTopicNo.4)  Re[3]: バッチで最新の環境変数を取得したい
□投稿者/ Azulean 大御所(482回)-(2017/02/17(Fri) 12:37:06)
  • アイコン読み落としていて失礼しました。

    そうなると、インストールによって足される PATH をこれだと決め打ちして自分で set PATH を書くか、以下のサイトにあるような VBScript を試してみるかとなりそうです。

    http://stackoverflow.com/questions/171588/is-there-a-command-to-refresh-environment-variables-from-the-command-prompt-in-w
引用返信 削除キー/
■33594 / inTopicNo.5)  Re[4]: バッチで最新の環境変数を取得したい
□投稿者/ ぺんたごん 一般人(22回)-(2017/02/28(Tue) 10:36:05)
  • アイコンNo33586に返信(Azuleanさんの記事)
    > 読み落としていて失礼しました。
    >
    > そうなると、インストールによって足される PATH をこれだと決め打ちして自分で set PATH を書くか、以下のサイトにあるような VBScript を試してみるかとなりそうです。
    >
    > http://stackoverflow.com/questions/171588/is-there-a-command-to-refresh-environment-variables-from-the-command-prompt-in-w

    たいへん遅くなりました。
    結論から言うと、もう決め打ちでsqlcmdパスを指定するようにしました。
    サイレントインストールなのでSQL Serverのインストール先も固定化されてるので
    今回は此の手法で行くことにしました。

    ありがとうございます。
解決み!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -