在Windows 8.1中,我尝试使用从cmd批处理文件调用的powershell脚本整理登录时的最近项目文件夹。 .BAT成功删除名称中包含mp3等的所有.LNK文件(保留文本文件,Word文件和我想保留的其他链接).PS1脚本用于删除文件夹的所有链接。当它执行
时$ FilePath = Get-Content $ file.FullName 它失败并出现权限被拒绝错误(UnauthorizedAccessException)。所以我想我也没有权限执行CreateShortcut。我可以将文件复制到.BAT中的最近项目文件夹中。 UAC已启用,我作为管理员在PowerShell ISE中运行脚本。
这是剧本: -
Set-StrictMode -version 2
$VerbosePreference = "Continue"
$sh = New-Object -COM WScript.Shell
$files = Get-ChildItem -path "C:\Users\john\AppData\Roaming\Microsoft\Windows\Recent"
foreach ($file in $files)
{
$FilePath = Get-Content $file.FullName
$TargetPath = $sh.CreateShortcut($FilePath).TargetPath
if (test-path $TargetPath -PathType Container)
{
remove-item ($FilePath) -Force
}
}
答案 0 :(得分:0)
聚会晚了一点,但是我遇到了这个问题: 问题在于:
Set-StrictMode -version 2
我出于自己的目的将其取出,并解决了该问题。