这个想法是,创建一个脚本来清理培训中心的Windows客户端。我想使用for循环在注册表中创建我想要删除的路径。
这就是我所拥有的:
$OfficePath = "HKCU:\Software\Microsoft\Office\"
$OfficeVer = "11.0" , "12.0" , "14.0", "15.0"
$OfficeSlice = "word", "excel" , "Outlook" , "onenote" , "Access", "Powerpoint"
for ($ver = 0; $ver -lt $OfficeVer.Count; $ver++)
{
for ($slice = 0; $slice -lt $OfficeSlice.Count; $slice++)
{
Remove-Item $OfficePath\$officever[$ver]\$OfficeSlice[$slice] -WhatIf
}
}
我期待发生的事情:
For循环创建如下命令:
Remove-Item "HKCU:\Software\Microsoft\Office\11.0\Word"
Remove-Item "HKCU:\Software\Microsoft\Office\11.0\Excel"
...
但一切都没有发生。
感谢您的帮助。
答案 0 :(得分:1)
将Join-Path添加到您的脚本以处理Path-Join:
$OfficePath = "HKCU:\Software\Microsoft\Office\"
$OfficeVer = "11.0" , "12.0" , "14.0", "15.0"
$OfficeSlice = "word", "excel" , "Outlook" , "onenote" , "Access", "Powerpoint"
for ($ver = 0; $ver -lt $OfficeVer.Count; $ver++)
{
for ($slice = 0; $slice -lt $OfficeSlice.Count; $slice++)
{
$Path = (Join-path (Join-Path $OfficePath $officever[$ver]) $OfficeSlice[$slice])
if (Test-Path $Path)
{
Remove-Item $Path -WhatIf
}
}
}