使用PowerShell解锁文件夹中的所有文件

6
尝试制作一个.bat文件,可以将其放在文件夹中,运行后会解除该文件夹中所有文件的阻止状态...
@ECHO OFF
PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "& {get-childitem '%~dp0' | unblock-file}"
EXIT

无论我如何格式化,它都告诉我“未识别为 cmdlet 名称的术语 'unblock-file'...”,我做错了什么?

我正在尝试这样做,这样我就可以将 .bat 复制到文件夹中(而不必复制 .bat 和 .ps1),所以我认为一行 powershell 的“调用”是正确的方法?


尝试将您的gci更改为:get-childitem { unblock-file -Path $.FullName; } - CalebB
2个回答

10

unblock-file 命令从 Powershell 3.0 起可用。升级您的 PowerShell,并应该可以正常运行脚本。


2
此 cmdlet 是在 Windows PowerShell 3.0 中引入的,尽管这可能仍然是问题所在。 - TheMadTechnician
升级到PowerShell 4.0后,我发布的原始脚本就能够正常工作了。我遵循了这里的说明:http://social.technet.microsoft.com/wiki/contents/articles/21016.how-to-install-windows-powershell-4-0.aspx 谢谢! - notAduck

3

测试并且工作正常:

dir -r | unblock-file

递归地解除当前目录中的所有内容的阻止状态


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接