Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
223 views
in Technique[技术] by (71.8m points)

Powershell variable is lost

My code:

    Write-Output "mytest" 
    $var1="defucntion"  
    $var1  
    Get-ChildItem variable:var*  
    Remove-Variable $var1  
    Get-ChildItem Variable:

I entered the code into Visual Studio Code. But got an error like this:

Remove-Variable : 找不到名为“defucntion”的变量。
所在位置 C:UsersAdministratorminePs1 1est1.ps1:5 字符: 1
+ Remove-Variable $var1
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (defucntion:String) 
[RemoveVariable], ItemNotFoundException
+ FullyQualifiedErrorId : 
VariableNotFound,Microsoft.PowerShell.Commands.RemoveVariableCommand

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You need to be passing through name reference as a string to Remove-Variable

Remove-Variable "var1"

SYNTAX
    Remove-Variable [-Name] <string[]>

In your case you are passing though a variable value, e.g. "defucntion", but variable with name "defucntion" doesn't exist.

p.s. You can check help for functions by using Get-Help to identify parameter types


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...