问题描述
当我尝试重命名合同文件夹以将合同文件夹大写时,我收到重命名错误。我也尝试过“重命名项目合同合同”。有人知道我是否可以强制执行命令还是需要更改语法?
PS C:\> rename-item -Path .\contracts\ -NewName .\Contracts\
rename-item : Cannot rename the specified target,because it represents a path or device name.
At line:1 char:1
+ rename-item -Path .\contracts\ -NewName .\Contracts\
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Rename-Item],PSArgumentException
+ FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.Renameitemcommand
解决方法
Rename-Item(Windows 中的文件名通常不区分大小写)。
您需要将其重命名为临时文件,然后重命名为所需的名称。
两个步骤,如下,
Rename-Item -Path ".\contracts" -NewName ".\contracts_temp" -PassThru | Rename-Item -NewName ".\Contracts"
,
Abdullah Leghari's helpful answer 提供了一种有效的解决方法,但值得指出的是,如果您删除尾随,您尝试过的应该工作 em> \
(以及可选的前导 .\
):
-
\
参数中的尾随/
(或-NewName
)正确导致您看到的错误消息,因为-NewName
参数根据定义接受仅名称,而不是路径(但是,引导.\
本身被悄悄地容忍了,即使可以说它也不应该是,为了一致性)。 -
但是,对于不区分大小写的文件系统(默认情况下:Windows、macOS),应该可以将目录重命名为大小写变化它,目前仅适用于文件。
简而言之:
Rename-Item -Path .\contracts\ -NewName Contracts
应该工作,并且如果所述错误得到修复,将在未来的 PowerShell(核心)版本中工作(但永远不会在 Windows PowerShell 中) ,除了关键错误修复外,不会看到任何更新。
,您需要从路径参数中删除尾随的“\”。
rename-item .\contracts .\Contracts
或
rename-item -Path .\contracts -NewName .\Contracts