gpt4 book ai didi

powershell - 使用PowerShell将字符添加到文件名的基础

转载 作者:行者123 更新时间:2023-12-02 23:42:44 25 4
gpt4 key购买 nike

Get-ChildItem -Path "C:\WPDOCS-aa\0000-wpdocs 2015" -Filter "wpd" -Recurse | rename-item -NewName {$_.name-replace '.wpd', -2015.wpd'}

PS C:\WPDOCS-aa\0000-wpdocs 2015> Get-ChildItem -Path "C:\WPDOCS-aa\0000-wpdocs 2015" -Filter "wpd" -Recurse | rename-item -NewName {$_.name-replace '.wpd', -2015.wpd'}

我已经尝试了上面,它只是挂起。
我尝试了这个:
Get-ChildItem -Path "C:\WPDOCS-aa\0000-wpdocs 2015" -Filter "wpd" -Recurse | rename-item -NewName {"$($_.BaseName) -2015.wpd"}

它似乎完成了(带有W10 Pro的Powershell v5),但是没有文件更改。
我要感谢这里的人的初步帮助。

最佳答案

您的方法有两个问题。

1)-Filter找不到您想要的文件,因为您正在寻找字面称为“wpd”的文件。如果仅提供文件名的一部分,则需要使用通配符。由于听起来您正在寻找扩展名为.wpd的文件,因此就像这样:

Get-ChildItem -Path "C:\WPDOCS-aa\0000-wpdocs 2015" -Filter "*.wpd" -Recurse

2)要访问 $_管道变量,您首先需要将Rename-Item包装在Foreach-Object cmdlet中。
Foreach-Object {Rename-Item -Path $_.Fullname -NewName "$($_.BaseName) -2015.wpd"}

还有一点需要注意的是,如果不对.wpd扩展名进行硬编码,则可以使cmdlet更可重用。我将更像这样执行-NewName参数:
-NewName ($_.BaseName + " -2015" + $_.Extension)

这样,如果您想将其与其他文件类型重用,则只需更改过滤器部分即可。

因此,所有的总和将是:
Get-ChildItem -Path "C:\WPDOCS-aa\0000-wpdocs 2015" -Filter "*.wpd" -Recurse | Foreach-Object {Rename-Item -Path $_.Fullname -NewName ($_.BaseName + " -2015" + $_.Extension)}

关于powershell - 使用PowerShell将字符添加到文件名的基础,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937136/

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