DOBON.NETプログラミング道掲示板

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 発言ランク ファイル一覧 検索 過去ログ

ツリー一括表示

Nomalアイコン バッチで最新の環境変数を取得したい /ぺんたごん (17/02/16(Thu) 20:18) #33583
Nomalアイコン Re[1]: バッチで最新の環境変数を取得したい /Azulean (17/02/16(Thu) 22:11) #33584
  └Nomalアイコン Re[2]: バッチで最新の環境変数を取得したい /ぺんたごん (17/02/17(Fri) 08:17) #33585
    └Nomalアイコン Re[3]: バッチで最新の環境変数を取得したい /Azulean (17/02/17(Fri) 12:37) #33586
      └Nomalアイコン Re[4]: バッチで最新の環境変数を取得したい /ぺんたごん (17/02/28(Tue) 10:36) #33594 解決済み!


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

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

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

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

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

    尚、C#等でコンソールアプリを作るのは許可されていません…
違反を報告
[ □ Tree ] 返信 削除キー/

▲[ 33583 ] / ▼[ 33585 ]
■33584 / 1階層)  Re[1]: バッチで最新の環境変数を取得したい
□投稿者/ Azulean 大御所(481回)-(2017/02/16(Thu) 22:11:21)
  • アイコンNo33583に返信(ぺんたごんさんの記事)
    > sqlcmdで.bakを復元しようとすると、
    > コマンドが認識されていないと言われ、一度バッチが終了して再実行すると
    > 認識されるようになります。

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

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


    見つからない場合、「コマンドが見つかりません」と言われている exe のある場所を探し出し、バッチの先頭に set PAtH=%PATH%;c:\hogehoge といったように PATH に追加してやればいけるかもしれません。(c:\hogehoge は例です)
違反を報告
[ 親 33583 / □ Tree ] 返信 削除キー/

▲[ 33584 ] / ▼[ 33586 ]
■33585 / 2階層)  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を取得する手段はないだろうか

    というご相談です。
違反を報告
[ 親 33583 / □ Tree ] 返信 削除キー/

▲[ 33585 ] / ▼[ 33594 ]
■33586 / 3階層)  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
違反を報告
[ 親 33583 / □ Tree ] 返信 削除キー/

▲[ 33586 ] / 返信無し
■33594 / 4階層)  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のインストール先も固定化されてるので
    今回は此の手法で行くことにしました。

    ありがとうございます。
解決済み!
違反を報告
[ 親 33583 / □ Tree ] 返信 削除キー/


Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 発言ランク ファイル一覧 検索 過去ログ

- Child Tree -