我正在为此苦苦挣扎几个小时,我尝试Google,但使用双引号,Invoke-Expression或者使用@缩写无济于事。在PowerShell命令行中使用包含引号的变量
$SrcLoc = ''
$VMachine = 'computer'
$Paths = @()
$Paths = ('\c$\Users\', '\c$\Program Files\', '\c$\Program Files (x86)\')
foreach ($path in $Paths){
$SrcLoc += '"\\' + $VMachine + $path + '" ,'
}
$SrcLoc = $SrcLoc.Substring(0,$SrcLoc.Length-2)
#$CREDENTIALED_SECTION = @{Username=$SrcLoc}
Write-Host $SrcLoc
#Invoke-Expression $SrcLoc
Get-ChildItem $SrcLoc -filter "*google*" -Directory -Recurse -force | % { $_.fullname }
,其结果是:
PS C:\Users\admin> C:\Users\admin\Desktop\New folder (3)\chrome2.ps1
"\\computer\c$\Users\" ,"\\computer\c$\Program Files\" ,"\\computer\c$\Program Files (x86)\"
\\computer\c$\Users\
\\computer\c$\Program Files\
\\computer\c$\Program Files (x86)\
Get-ChildItem : Illegal characters in path. At C:\Users\admin\Desktop\New folder (3)\chrome2.ps1:13 char:1
+ Get-ChildItem $SrcLoc -filter "*google*" -Directory -Recurse -force | % { $_.f ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-ChildItem], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.GetChildItemCommand
请告知 谢谢
这里的目标是什么?帮助我理解你正在努力完成的任务。 – FoxDeploy
我想在整个环境中找到所有Google chrome setup.exe文件,以便远程卸载它。 现在$ VMachine只是一个字符串,但我想将它用作未来的数组,以遍历整个环境,搜索和销毁。 – Michal