gpt4 book ai didi

如果文件存在,Powershell move 项目重命名

转载 作者:行者123 更新时间:2023-12-02 06:18:53 25 4
gpt4 key购买 nike

我有一个 powershell 脚本,它获取一个目录中的所有文件,重命名第一个文件并 move 它,然后转到下一个文件。有时会有多个文件被重命名为相同的名称(因为它要重命名的系统,不理想并且必须更改)并且正在覆盖不应该被 -force 覆盖的文件。我需要 move 所有文件,但也需要具有唯一的名称,以便我们在目标位置提供它们。有没有一种简单的方法让它自动重命名,看起来像:

123.txt123(1).txt123(2).txt

123.txt123_1.txt123_2.txt

最佳答案

没有内置的方法可以做到这一点。试一试:

$src = "d:\temp"
$dest = "d:\temp1"
$num=1

Get-ChildItem -Path $src -Filter *.txt -Recurse | ForEach-Object {

$nextName = Join-Path -Path $dest -ChildPath $_.name

while(Test-Path -Path $nextName)
{
$nextName = Join-Path $dest ($_.BaseName + "_$num" + $_.Extension)
$num+=1
}

$_ | Move-Item -Destination $nextName
}

关于如果文件存在,Powershell move 项目重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16839787/

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