お世話になります。
本を買って読んでみたもののよくわからなかったので、
ご存知の方がいたら教えていただきたく、よろしくお願いいたします。
設定ファイルを読み込み、内容によって挙動を変えるスクリプトを作ろうとしています。
設定ファイルをTest-Pathし、見つからなかった場合のエラー処理をしたいのですが、
Test-Path実施後の結果はどこに返ってくるのでしょうか。
$?には返ってきませんでした。
よろしくお願いいたします。
$result = Test-Path [file]
で$resultにTrue/Falseが入りませんか?
Z9M9Z さんが書かれているように、
戻り値で結果は取得できるようです。
$? は、たとえば
[26]: $r = test-path \\aaaaTest-Path : UNC パスは \\server\share 形式でなければなりません。発生場所 行:1 文字:15+ $r = test-path <<<< \\aaaa[27]: $?False [38]: test-path -aTest-Path : パラメータ名 'a' に一致するパラメータが見つかりません。発生場所 行:1 文字:12+ test-path -a <<<<[39]: $?False
[26]: $r = test-path \\aaaaTest-Path : UNC パスは \\server\share 形式でなければなりません。発生場所 行:1 文字:15+ $r = test-path <<<< \\aaaa[27]: $?False
[38]: test-path -aTest-Path : パラメータ名 'a' に一致するパラメータが見つかりません。発生場所 行:1 文字:12+ test-path -a <<<<[39]: $?False
のように、エラーが発生した場合に False になるものです。
Z9M9Z様、ありがとうございました。
教えていただいたやり方で取得できることがわかりました。ド素人な質問ですみません。
自力で解決した方法も掲載しておきます。
--- if (Test-Path $emvfile) { } else { Write-Host 'ファイルが見つかりません' }---
そもそも戻り値を変数に格納しなくてもチェックできることがわかりました。
基礎的なところがよくわかっていなかったようですね。プログラム的なことから遠ざかって久しいので、リハビリ頑張ります。