PowerShell:ローカル変数を関数に渡す

スタニスラフ・ストヤノフ

私は次のPowershellコードを持っています:

function readConfigData
{
    $workingDir = (Get-Location).Path
    $file = ""

    if ($Global:USE_LOCAL_SERVER)
    {
        $file = $workingDir + '\Configs\Localhost.ini'
    }
    else
    {
        $file = $workingDir + '\Configs\' + $env:COMPUTERNAME + '.ini'
    }

    Write-Host 'INIFILE: ' $file

    if (!$file -or ($file = ""))
    {
        throw [System.Exception] "Ini fil är inte satt."
    }
    if (!(Test-Path -Path $file))
    {
        throw [System.Exception] "Kan inte hitta ini fil."
    }
}

readConfigData

$file関数に渡すことができるローカル変数どのように宣言すればよいですかTest-Pathローカル変数$ fileにデータが入力されますが、他の関数の引数として配置すると、スコープ外のようになります。

スコープについての記事を読みましたが、理解できませんでした。

現在、エラーが発生します:

INIFILE:D:\ Projects \ scripts \ Configs \ HBOX.iniテストパス:空の文字列であるため、引数をパラメーター 'Path'にバインドできません。D:\ Projects \ freelancer.com \ nero2000 \ cmdスクリプトからpowershell \ script.ps1:141 char:27 + if(!(Test-Path -Path $ file))+ ~~~~~ + CategoryInfo:InvalidData: (:) [Test-Path]、ParameterBindingValidationException + FullyQualifiedErrorId:ParameterArgumentValidationErrorEmptyStringNotAllowed、Microsoft.PowerShell.Commands.TestPathCommand

ソシアン
if (!$file -or ($file = ""))

に置き換える必要があります

if (!$file -or ($file -eq ""))

最初のif句で$ fileを空の文字列に割り当てるため、Test-Path呼び出しで変数が空になります。

編集:いくつかの選択肢もあります:PowerShellで文字列がnullまたは空かどうかを確認するにはどうすればよいですか?

あなたはどちらかを使うことができます

if([string]::IsNullOrEmpty($file))

またはただ

if(!$file)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Rails-ローカル変数を部分変数に渡す

分類Dev

ローカル変数の値を関数からaddEventListener関数に渡す方法は?

分類Dev

変数を関数に渡すPowershell

分類Dev

関数にローカルな変数を使用する `eval`

分類Dev

ローカル変数へのポインタを関数に渡す:安全ですか?

分類Dev

Railsローカル変数をescape_javascriptに渡す

分類Dev

ある関数のローカル変数を別の関数に返す

分類Dev

変数と値を関数に渡します(ワイルドカード?)

分類Dev

javascript変数をグローバルにして関数ajaxに渡す方法は?

分類Dev

なぜグローバル変数を関数に渡すのですか?

分類Dev

ローカル変数(関数内)をグローバルにする方法

分類Dev

ローカル変数(関数内)をグローバルにする方法

分類Dev

Rails-ローカル変数の受け渡しに関する問題

分類Dev

関数の値をグローバル変数に渡します

分類Dev

Cでは、ローカル関数の変数値を別の関数に渡し、エラーなしで値を出力する方法

分類Dev

関数内のローカル変数を変更するPython

分類Dev

共有ポインタを関数引数に渡す-それをローカル変数に割り当てる正しい方法は何ですか

分類Dev

関数内のローカル変数をtimeitにインポートする

分類Dev

変数をループから関数に渡す

分類Dev

foreachループ内の関数に変数を渡す

分類Dev

変数をPageMethodSuccessコールバック関数に渡す方法

分類Dev

変数をPageMethodSuccessコールバック関数に渡す方法

分類Dev

外部ループから関数に変数を渡す方法

分類Dev

変数をループからメイン関数に渡す

分類Dev

.change関数の変数からグローバル変数Jqueryに値を渡して更新します

分類Dev

ローカル変数をipyparallelクラスターに渡す最良の方法

分類Dev

ReactNativeのコンポーネントにローカル変数を渡す

分類Dev

ローカル変数を別のビューのJSに渡す-Rails

分類Dev

Javascriptはローカル変数を関数returnに置き換えます

Related 関連記事

  1. 1

    Rails-ローカル変数を部分変数に渡す

  2. 2

    ローカル変数の値を関数からaddEventListener関数に渡す方法は?

  3. 3

    変数を関数に渡すPowershell

  4. 4

    関数にローカルな変数を使用する `eval`

  5. 5

    ローカル変数へのポインタを関数に渡す:安全ですか?

  6. 6

    Railsローカル変数をescape_javascriptに渡す

  7. 7

    ある関数のローカル変数を別の関数に返す

  8. 8

    変数と値を関数に渡します(ワイルドカード?)

  9. 9

    javascript変数をグローバルにして関数ajaxに渡す方法は?

  10. 10

    なぜグローバル変数を関数に渡すのですか?

  11. 11

    ローカル変数(関数内)をグローバルにする方法

  12. 12

    ローカル変数(関数内)をグローバルにする方法

  13. 13

    Rails-ローカル変数の受け渡しに関する問題

  14. 14

    関数の値をグローバル変数に渡します

  15. 15

    Cでは、ローカル関数の変数値を別の関数に渡し、エラーなしで値を出力する方法

  16. 16

    関数内のローカル変数を変更するPython

  17. 17

    共有ポインタを関数引数に渡す-それをローカル変数に割り当てる正しい方法は何ですか

  18. 18

    関数内のローカル変数をtimeitにインポートする

  19. 19

    変数をループから関数に渡す

  20. 20

    foreachループ内の関数に変数を渡す

  21. 21

    変数をPageMethodSuccessコールバック関数に渡す方法

  22. 22

    変数をPageMethodSuccessコールバック関数に渡す方法

  23. 23

    外部ループから関数に変数を渡す方法

  24. 24

    変数をループからメイン関数に渡す

  25. 25

    .change関数の変数からグローバル変数Jqueryに値を渡して更新します

  26. 26

    ローカル変数をipyparallelクラスターに渡す最良の方法

  27. 27

    ReactNativeのコンポーネントにローカル変数を渡す

  28. 28

    ローカル変数を別のビューのJSに渡す-Rails

  29. 29

    Javascriptはローカル変数を関数returnに置き換えます

ホットタグ

アーカイブ