gpt4 book ai didi

powershell - 使用 Power Shell 重命名文件名中包含括号的文件

转载 作者:行者123 更新时间:2023-12-04 02:09:28 50 4
gpt4 key购买 nike

我正在尝试重命名文件名中包含括号的文件。这似乎不起作用,因为 powershell 将 [] 视为特殊字符并且不知道该怎么做。

我的电脑上有一个文件夹 c:\test。我希望能够查看该文件夹并重命名所有文件或文件的一部分。以下代码似乎有效,但如果文件中有任何特殊字符,则代码失败:

Function RenameFiles($FilesToRename,$OldName,$NewName){

$FileListArray = @()
Foreach($file in Get-ChildItem $FilesToRename -Force -Recurse | Where-Object {$_.attributes -notlike "Directory"})
{
$FileListArray += ,@($file)
}

Foreach($File in $FileListArray)
{
IF ($File -match $OldName )
{
$File | rename-item -newName {$_ -replace "$OldName", "$NewName" }
}
}
}

renamefiles -FilesToRename "c:\test" -OldName "testt2bt" -NewName "test"

我确实找到了一个类似的问题: Replace square bracket using Powershell ,但我无法理解如何使用答案,因为它只是一个解释错误的链接:

最佳答案

对于多个文件,这可以用一行完成。

要移除支架,您应该尝试:

get-childitem | ForEach-Object { Move-Item -LiteralPath $_.name $_.name.Replace("[","")}

关于powershell - 使用 Power Shell 重命名文件名中包含括号的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10970748/

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