2017-08-04 11 views
0

解決策を探しています。私はネットワークPC上の特定のディレクトリを参照する簡単なスクリプトを持っています。呼び出す変数に変数を渡す

しかし、$ compname変数をinvoke-itemに渡す方法がわかりません。 PS v2.0を実行しています。 Invoke-Item: '\\ C $ \ Program Files \ IBM \ Lotus \ Notes \ Data'というパスが存在しないため、このスクリプトではエラーが発生します。

$dskbox = New-Object system.windows.Forms.TextBox 
$dskbox.Width = 134 
$dskbox.Height = 20 
$dskbox.location = new-object system.drawing.point(24,41) 
$dskbox.Font = "Microsoft Sans Serif,10,style=Bold" 
$Title.controls.Add($dskbox) 
$compname = $dskbox.Text 


$Open = New-Object system.windows.Forms.Button 
$Open.BackColor = "#23b14d" 
$Open.Text = "Open" 
$Open.ForeColor = "#ffffff" 
$Open.Width = 163 
$Open.Height = 51 
$Open.location = new-object system.drawing.point(6,77) 
$Open.Font = "Microsoft Sans Serif,10,style=Bold" 
$Title.controls.Add($Open) 


$Open.Add_Click({ 


ii "\\$compname\C$\Program Files\IBM\Lotus\Notes\Data" 

}) 

[void]$Title.ShowDialog() 
$Title.Dispose() 
+0

typoがあるようです。あなたは '$ dskbox.Text'を' $ compname'に割り当てて、 '$ companame'を参照します(余分な* a *に気づく) –

+0

ありがとう、マティアス、ありがとう。このエラーは修正されましたが、引き続き同じエラーメッセージが表示されます。 '¥¥¥C $¥Program Files¥IBM¥Lotus¥Notes¥Data'は存在しないためです。 –

答えて

0

明らかにその時点で空になるだろうテキストボックスを作成するときに$compnameを設定します。

$Open.Add_Click({ 
    $compname = $dskbox.Text 
    ii "\\$compname\C$\Program Files\IBM\Lotus\Notes\Data" 
}) 

それとも完全にその変数を取り除くこともできます:あなたはスクリプトブロックに移動する必要があなたの$Open.add_Click($Open_OnClick)スクリプトブロックに関連付け、スクリプトブロック内invoke-itemを開始することができますii "\\$($dskbox.Text)\C$\Program Files\IBM\Lotus\Notes\Data"

0

$dskbox = New-Object system.windows.Forms.TextBox 
$dskbox.Width = 134 
$dskbox.Height = 20 
$dskbox.location = new-object system.drawing.point(24,41) 
$dskbox.Font = "Microsoft Sans Serif,10,style=Bold" 
$Title.controls.Add($dskbox) 
$compname = $dskbox.Text 


$Open = New-Object system.windows.Forms.Button 
$Open.BackColor = "#23b14d" 
$Open.Text = "Open" 
$Open.ForeColor = "#ffffff" 
$Open.Width = 163 
$Open.Height = 51 
$Open.location = new-object system.drawing.point(6,77) 
$Open.Font = "Microsoft Sans Serif,10,style=Bold" 
$Open.add_Click($Open_OnClick) 
$Title.controls.Add($Open) 

$Open_OnClick= 
{ 
    ii "\\$compname\C$\Program Files\IBM\Lotus\Notes\Data" 
} 

[void]$Title.ShowDialog() 
$Title.Dispose() 
関連する問題