3

このPowerShellコマンドを実行しています:

Get-ChildItem .\tx\*.htm | Rename-Item -NewName {$_.Name -replace '\.htm','.tmp'}

[ファイル名に角かっこ(および/または-)が含まれている場合は、次のエラーが発生し]ます。これらはPowerShell構文内で意味があるため理解できます。

名前の変更-アイテム:アイテムが次の場所にあるため、名前を変更できません
'Microsoft.PowerShell.Core \ FileSystem :: C:\ users \ xxxxx \ desktop \ tx \
Foofoofoofoo_foo_foo_ [BAR]_Foofoofoofoo_foofoofoo.htm'は存在しません。
C:\ users \ xxxxx \ desktop \ foo002.ps1:59 char:39
+Get-ChildItem。\tx\*。htm| Rename-Item <<<< -NewName{$_。Name-replace'\.htm'、'。tmp'}
    + CategoryInfo:InvalidOperation:(:) [Rename-Item]、PSInvalidOperationException
    + FullyQualifiedErrorId:InvalidOperation、Microsoft.PowerShell.Commands.RenameItemCommand

パス内の他のすべてのファイルは同様の名前(Phrase_With_Underscores.htm)を持ち、問題なく名前が変更されます。誰かがこれについての経験があり、私がこれらのファイルを操作できるようにそれに対抗する方法を知っていますか?

4

1 に答える 1

7

move-itemパラメータを使用してアイテムの名前を変更するために使用することで回避できます-LiteralPath

既知のバグ: Connect (Keith Hill のコメント: powershell V3 fix this issue を参照)

于 2013-01-10T14:06:36.757 に答える