J'essaie d'utiliser le Rename-Item
applet de commande pour effectuer les opérations suivantes:
J'ai un dossier qui contient des fichiers "*. Txt". Disons 1.txt, 2.txt etc ...
Je veux copier des fichiers qui ont un préfixe, les renommer en * .txt et remplacer tous les fichiers existants s'il y en a.
exemple:
dossier: c:\TEST
fichiers: 1.txt, 2.txt, 3.txt, 4.txt, 5.txt, index.1.txt, index.2.txt, index.3.txt, index.4.txt, index.5. SMS
Je veux utiliser rename-item pour filtrer n'importe quel index.*.txt
et les renommer *.txt
, et si le même fichier existe, remplacez-le.
Merci les gars
Comme indiqué par @lytledw, Move-Item -Force
fonctionne très bien pour renommer et remplacer des fichiers.
Pour remplacer le index.
partie du nom, vous pouvez utiliser le -replace
opérateur regex:
Get-ChildItem index.*.txt |ForEach-Object {
$NewName = $_.Name -replace "^(index\.)(.*)",'$2'
$Destination = Join-Path -Path $_.Directory.FullName -ChildPath $NewName
Move-Item -Path $_.FullName -Destination $Destination -Force
}
J'ai essayé le rename-item -force et cela n'a pas fonctionné. Cependant, j'ai pu faire déplacer-item -force et cela a bien fonctionné