【发布时间】:2016-11-28 16:58:55
【问题描述】:
我在 powershell 中遇到了一些问题。我希望能够让 powershell 命令搜索多个目录。 名称为“$VM_DISK=VM_DISK.vhdx”之类的变量,并让 powershell 在该庄园中搜索,以便如果该文件存在于诸如 C:\VM_DISK\ 之类的文件夹中,它将退出脚本。 我已经尝试过“Get-Childitem”,但是当我将变量放入其中时它似乎不起作用。这是一个例子:
$VM_DISK= "Example.vhdx"
$search=Get-ChildItem -Path C:\VM_DISK\* -Filter $VM_DISK -Recurse
if ($search -eq $VM_DISK) {write-host "Goodbye!" exit} else {write-host "Continue"}
我似乎无法弄清楚为什么这不起作用,希望有人能弄清楚。
【问题讨论】:
-
if($VM_DISK){...}- 如果Get-ChildItem没有返回任何内容,则$VM_DISK为空,并将评估为$false -
@MathiasR.Jessen 奇怪的是,当我在 Get-Childitem 前面放置一个变量时,它不再起作用,当我删除它时,我得到一个响应,即该文件存在于位置和所有。
-
抱歉,我的意思是
if($search){...}-$search将包含来自Get-ChildItem的结果(或什么都没有) -
你完全正确,我确实得到了“很好”的响应,但我怎样才能让 if 语句等于 $VM_DISK 变量?像“ if($search -eq $VM_DISk) {..}
标签: powershell directory get-childitem