我正在尝试删除可变的文本。在这种情况下,AM和文件编号可以增大和减小,因此我需要找到一种方法来删除连字符之间的所有字符(IDictionary
)。以下脚本仅适用于设置字符。任何人都可以帮忙吗?
-
文件名示例:Get-ChildItem *.* | foreach {
Rename-Item $_ $_.Name.Replace("AM*-", "")
}
答案 0 :(得分:0)
如果您的文件名如AM-#1234567-v1-filename.MSG
和
你想删除连字符之间的字符(#1234567和v1?),你可以尝试这样做:
Get-ChildItem $source *.* | foreach {
if ($_.name -like "*-*")
{
$names = $_.Name.Replace($_.name.Split("-")[1], "").Replace($_.name.Split("-")[2], "").Replace("-","")
Rename-Item -LiteralPath $_.FullName $names
}
}
答案 1 :(得分:0)
您是否尝试将AM-#1234567-v1-filename.MSG重命名为AM-filename.MSG? 如果是这样,这将有效:
<div id="d1"></div>
在你的循环中:
$String = "AM-#1234567-v1-filename.MSG"
$Split = $String.Split("-")
$NewName = $Split[0] + "-" + $Split[$Split.count -1]
$NewName
}