質問する質問する
 

回答済みTest-Path結果

  • 2009年1月18日 6:04匿子さん ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    お世話になります。

    本を買って読んでみたもののよくわからなかったので、

    ご存知の方がいたら教えていただきたく、よろしくお願いいたします。

     

    設定ファイルを読み込み、内容によって挙動を変えるスクリプトを作ろうとしています。

    設定ファイルをTest-Pathし、見つからなかった場合のエラー処理をしたいのですが、

    Test-Path実施後の結果はどこに返ってくるのでしょうか。

    $?には返ってきませんでした。

     

    よろしくお願いいたします。

回答

すべての返信

  • 2009年1月18日 8:02Z9M9Z ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     回答済み

    $result = Test-Path [file]

    で$resultにTrue/Falseが入りませんか?

  • 2009年1月21日 5:52kw-shingo ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    Z9M9Z さんが書かれているように、

    戻り値で結果は取得できるようです。

     

    $? は、たとえば

     

    [26]: $r = test-path \\aaaa
    Test-Path : UNC パスは \\server\share 形式でなければなりません。
    発生場所 行:1 文字:15
    + $r = test-path  <<<<
    \\aaaa
    [27]: $?
    False

     

    [38]: test-path -a
    Test-Path : パラメータ名 'a' に一致するパラメータが見つかりません。
    発生場所 行:1 文字:12
    + test-path -a <<<<
    [39]: $?
    False

     

    のように、エラーが発生した場合に False になるものです。

  • 2009年1月30日 9:49匿子さん ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     

    Z9M9Z様、ありがとうございました。

    教えていただいたやり方で取得できることがわかりました。
    ド素人な質問ですみません。

    自力で解決した方法も掲載しておきます。

    ---
     if (Test-Path $emvfile)
     {
     }
     else
     {
      Write-Host 'ファイルが見つかりません'
     }
    ---

    そもそも戻り値を変数に格納しなくてもチェックできることがわかりました。

  • 2009年1月30日 9:50匿子さん ユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダルユーザーのメダル
     
    kw-shingo様、ありがとうございました。

    基礎的なところがよくわかっていなかったようですね。プログラム的なことから遠ざかって久しいので、リハビリ頑張ります。