gpt4 book ai didi

powershell - 在Powershell中替换部分文件名

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

我一直在重命名PowerShell中超过5天的文件夹中的所有文件。

文件名全部读为:

XTYPE  -to-  CoOrd & WBS - 20140313
XTYPE -to- CoOrd & WBS - 20140314

等等
有时会出现一些轻微的异常,例如:
XTYPE  -to-  CoOrd & WBS - 20140316 - do not use
XTYPE -to- CoOrd & WBS - 20140314 (AutoSaved)

现在,我只想从每个文件中删除“&WBS”(全部以excel格式保存,因此文件将是)
XTYPE  -to-  CoOrd- 20140313
XTYPE -to- CoOrd- 20140314
XTYPE -to- CoOrd- 20140316 - do not use
XTYPE -to- CoOrd- 20140314 (AutoSaved)

现在我相信到目前为止我的代码已经足够了...
$myFolder = '\\iiGlasgow.co.uk\public\Controls\Archived Files\'
ForEach ($File in Get-Childitem $myFolder | Where-Object { $_.LastWriteTime -lt (get-date).AddDays(-5)})

因此,我已经设置了文件夹,并建议PowerShell仅处理5天以上的项目。

但是我无法用它代替部分字符串元素...可能真的很简单,我只是看不到它。我搜寻了Internet并尝试了各种迭代,但是这没有发生。

因此,我认为最接近解决方案的最后要素请阅读...
{
$myFile = $file.name
$myFullFilename = $file.FullName
$myRenamed = $myFile.Replace(" & WBS ","")
}

整个脚本是否简单?
$myFolder = '\\iiGlasgow.co.uk\public\Controls\Archived Files\'
ForEach ($File in Get-Childitem $myFolder | Where-Object { $_.LastWriteTime -lt (get-date).AddDays(-5)})
{
$myFile = $file.name
$myFullFilename = $file.FullName
$myRenamed = $myFile.Replace(" & WBS ","")
}

一如既往地感谢您对我的错误的帮助和指点!

最佳答案

我将扩展Where-Object cmdlet并过滤所有包含& WBS的基本名称。然后只需使用Rename-item cmdlet重命名该文件:

$myFolder = '\\iiGlasgow.co.uk\public\Controls\Archived Files\'
Get-Childitem $myFolder |
Where-Object { $_.LastWriteTime -lt (get-date).AddDays(-5) -and $_.BaseName -Match ' & WBS ' } |
Foreach {
$_ | Rename-Item -NewName ($_.Name -replace ' & WBS ')
}

关于powershell - 在Powershell中替换部分文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38119917/

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