Si vous avez un nom de fichier tel que "Minutes du comité [October 2010] - hq.doc", comment Powershell peut-il remplacer les crochets? Ce qui suit ne fonctionne pas:Remplacer le crochet par Powershell
ls -filter *`[*`]* | foreach -Process { Rename-Item $_ -NewName ($_.Name -replace '\[', '\(') | Rename-Item $_ -NewName ($_.Name -replace '\]', '\)')}
Je reçois l'erreur:
Rename-Item : Cannot rename because item at 'Committee minutes [October 2010] - hq.doc' does not exist.
At line:1 char:53
+ ls -filter *`[*`]* | foreach -Process { Rename-Item <<<< $_ -NewName ($_.Name -replace '\['
]', '\)')}
+ CategoryInfo : InvalidOperation: (:) [Rename-Item], PSInvalidOperationException
+ FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.RenameItemCommand
Merci @roman! Move-Item a fait l'affaire. – KalenGi
Peut-être que l'utilisation de '[regex] :: escape ($ string)' fera l'affaire. – Marco