我需要一些帮助。我需要在c:\ Windows \中重命名一些文件夹,但它一直说访问被拒绝。我以管理员身份运行poweshell。
Rename-Item -path 'C:\Windows\SoftwareDistribution' -NewName 'C:\Windows\SoftwareDistribution.bak'
我得到了回报:
Rename-Item : Access to the path 'C:\Windows\SoftwareDistribution' is denied.
At line:1 char:2
+ Rename-Item -path 'C:\Windows\SoftwareDistribution' -NewName 'C:\Win ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (C:\Windows\SoftwareDistribution:String) [Rename-Item], IOException
+ FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand
答案 0 :(得分:1)
我猜你是在运行这个cmdlet作为同意管理员。 (UAC) 您必须以管理员身份启动powershell控制台。 (仅以管理员身份登录是不够的。)
答案 1 :(得分:0)
一种可能性只是一个许可问题,我们可以排除它,显然。
另一个可能的解释是,进程仍然保留该文件夹或其中的文件(最可能是Windows Update)的打开句柄。在执行此操作之前,您必须停止Windows Update服务。
答案 2 :(得分:0)
尝试使用-Force开关,只要在那里运行cmdlet的PowerShell会话不应该有任何问题。
答案 3 :(得分:0)
我认为错误的重要部分在于IOException:
+ CategoryInfo : WriteError: (C:\Windows\SoftwareDistribution:String) [Rename-Item], IOException
检查文件夹是否未被使用,以防万一。
答案 4 :(得分:0)
我遇到了完全相同的问题:
Rename-Item -Path PATH1 -NewName PATH2
给我一个IOException
。我尝试了较旧的REN
命令,但是无论如何它还是被别名为Rename-Item
,也没有用。
对我而言唯一有效的解决方案是在“文件资源管理器”中对其重命名。
答案 5 :(得分:0)
我以前也遇到过同样的问题。您需要确保在任何命令提示符下都未打开目录,并且需要关闭wuauserv服务。
您还可以在此线程中使用Svish答案在Windows资源监视器中查找文件夹锁定。 https://superuser.com/questions/117902/find-out-which-process-is-locking-a-file-or-folder-in-windows
答案 6 :(得分:0)
您需要关闭文件资源管理器和 IDE 文件,然后才能使用 Rename-Item PATH1 -NewName PATH2