首页 > 解决方案 > “找不到路径”纠缠测试结果

问题描述

我在 Pester 上测试了一个脚本。我不断收到找不到路径错误。显然我的某些台词有问题。

$userFolders = Get-ChildItem C:\Users -Directory
foreach($folder in $userFolders)
{
    Get-ChildItem C:\Users\$folder\AppData\Local\Temp -Recurse | Remove-Item -Recurse -Force
    Get-ChildItem C:\Users\$folder\AppData\Local\Google\Chrome\User Data\Default\Cache -Recurse | Remove-Item -Recurse -Force 
}
Get-ChildItem C:\Windows\Temp -Recurse | Remove-Item -Recurse -Force

我似乎找不到哪里出了问题,但我知道它就在这里。任何帮助将不胜感激。

标签: powershelltestingpathscriptingpester

解决方案


$folder是一个对象。转换为字符串将为您提供文件夹名称。您可以通过使用引号来做到这一点。

正如Mark 所指出的,如果路径中有空格,您还需要引号。

$userFolders = Get-ChildItem C:\Users -Directory

foreach($folder in $userFolders) {

    Write-Host "This is the folder object:"
    $folder

    Write-Host "This is folder object cast to string: $folder"

    Get-ChildItem "C:\Users\$folder\AppData\Local\Temp" -Recurse | Remove-Item -Recurse -Force        
    Get-ChildItem "C:\Users\$folder\AppData\Local\Google\Chrome\User Data\Default\Cache" -Recurse | Remove-Item -Recurse -Force
}

Get-ChildItem C:\Windows\Temp -Recurse | Remove-Item -Recurse -Force

推荐阅读