如何解决如何使用PowerShell在文件名中顺序添加数字?
我想在文件名中添加一个序列号。我尝试创建文件,但仍然无法弄清楚如何在文件名中添加序列号。 这是我的代码:
$Seq_0 = @("AE","PR")
$Seq_1 = @("A1","AP","AS","E1")
$Seq_2 = @("E2","JP","M1")
$Seq_3 = @("M2","N1")
$PathPOFiles = ".\PO"
$BID = "00YYR3TT101"
$PathHome = "D:\Folder"
$PathOriJob = ".\Job"
$JobType = "XY"
$Prefix = "AB"
if (Test-Path -Path "$PathPOFiles\*$BID*")
{
Get-ChildItem -Path "$PathPOFiles\*$BID*" | ForEach-Object {
$GetPO = Get-childItem -Path "$PathPOFiles\*$BID*"
}
# Create job content
$POfile = Get-ChildItem -Name "$PathPOFiles\*$BID*"
$POContent = Get-Content -path "$PathPOFiles\*$BID*"
$GetCRM = $POContent | Where-Object {$_ -like "*;CRM*"}
$CRM = $GetCRM.Substring(5,2)
$CRM = $CRM.split()
$POCountry = Get-ChildItem -Name "$PathPOFiles\*$BID*" -File
$GetCountry = $POCountry.Substring(15,3)
$GetCountry = $GetCountry.split()
for ( $i = 0; $i -clt $POfile.Count; $i++) {
if ($POfile.Count -le 1)
{
$po = $POfile
}
else {
$po = $POfile[$i]
}
$xmlcrm = $CRM[$i]
$xmlcountry = $GetCountry[$i]
$JobCreatedTime = Get-Date
# Set The Formatting
$xmlsettings = New-Object System.Xml.XmlWriterSettings
$xmlsettings.Indent = $true
$xmlsettings.IndentChars = "`t"
$XmlWriter = [System.XML.XmlWriter]::Create("$PathHome\$PathOriJob\$JobType`_$Prefix$BID`_$xmlcrm.job",$xmlsettings)
$xmlWriter.WriteStartDocument()
$xmlWriter.WriteStartElement("Job")
$xmlWriter.WriteStartElement("Auto")
$xmlWriter.WriteElementString("PO","$po")
$xmlWriter.WriteEndElement()
$xmlWriter.WriteStartElement("Build")
$xmlWriter.WriteElementString("BID","$BID")
$xmlWriter.WriteElementString("Prefix","$Prefix")
$xmlWriter.WriteElementString("CRM","$xmlcrm")
$xmlWriter.WriteElementString("Country","$xmlcountry")
$xmlWriter.WriteEndElement()
$xmlWriter.WriteEndElement()
$xmlWriter.WriteEndDocument()
$xmlWriter.Flush()
$xmlWriter.Close()
}
$Message = "Creating Job Successfully"
Write-Host $Message
}
else {
$Message = "File Not Found"
Write-Host $Message
}
从此代码中,我可以生成具有以下格式的文件:XY_AB00YYR3TT101_A1.job。文件的总数取决于此$POfile = Get-ChildItem -Name "$PathPOFiles\*$BID*"
的文件。
我的期望是,我可以根据我的命名顺序来命名文件。如果$xmlcrm
等于$Seq_0
列表,则文件将命名为XY_AB00YYR3TT101_AE_0.job。如果$xmlcrm
等于$Seq_1
,则通过添加1
来命名。如果$xmlcrm
与任何序列列表都不匹配,则将通过添加4
作为默认名称来命名文件。
任何人都可以帮助我。非常感谢。谢谢:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。