WindowsPowerShell 重命名项目

WindowsPowerShell Rename Item

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

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 .\contracts .\Contracts

rename-item -Path .\contracts -NewName .\Contracts

Rename-Item(Windows 中的一般文件名)不区分大小写。

您需要将其重命名为临时文件,然后重命名为所需名称。

两步,如下,

Rename-Item -Path ".\contracts" -NewName ".\contracts_temp" -PassThru | Rename-Item -NewName ".\Contracts"

提供了一种有效的 解决方法 ,但值得一提的是,您尝试过的方法 应该 有效如果删除尾随 \(以及可选的前导.\):

  • -NewName 参数中的尾随 \(或 /)会正确地导致您看到的错误消息,因为 -NewName 参数根据定义,仅接受 name,不接受 path(但是,leading .\就其本身而言 悄悄地被容忍的,尽管为了保持一致性,可以说它也不应该被容忍。

  • 但是,如果-不敏感文件系统(默认:Windows,macOS),应该可以将目录重命名为它的 case 变体,目前仅适用于 files.

简而言之:

Rename-Item -Path .\contracts\ -NewName Contracts

应该 工作,并且如果所述错误已修复, 在未来的 PowerShell(核心)版本中工作(但不会'在 Windows PowerShell 中,除了 critical 错误修复外,不会看到任何更新。