WindowsPowerShell 重命名项

问题描述

当我尝试重命名合同文件夹以将合同文件夹大写时,我收到重命名错误。我也尝试过“重命名项目合同合同”。有人知道我是否可以强制执行命令还是需要更改语法?

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...