gpt4 book ai didi

powershell - 重命名项目并覆盖(如果文件名存在)

转载 作者:行者123 更新时间:2023-12-03 10:38:02 26 4
gpt4 key购买 nike

我正在尝试使用Rename-Item cmdlet执行以下操作:

我有一个包含“ * .txt ”文件的文件夹。假设1.txt,2.txt等...

我想复制具有一些前缀的文件,将它们重命名为* .txt并覆盖任何现有文件(如果有)。

例:

folder: c:\TEST

files : 1.txt, 2.txt, 3.txt, 4.txt, 5.txt, index.1.txt, index.2.txt, index.3.txt, index.4.txt, index.5.txt



我想使用重命名项目来过滤任何 index.*.txt 并将它们重命名为 *.txt ,如果存在相同文件,请替换它。

感谢大伙们

最佳答案

如@lytledw所述,Move-Item -Force非常适合重命名和覆盖文件。

要替换名称的index.部分,可以使用-replace 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
}

关于powershell - 重命名项目并覆盖(如果文件名存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32311875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com