powershell - 如何处理创建文件并使用 Powershell 编写文件?
问题描述
我想创建一个文件并将内容写入文件。新文件将根据存在的总 SWPO 文件创建。我试过这个脚本,我可以创建新文件。但是当我只放 1 个$PO_Path
文件时,它会创建 2 个新文件。实际上这 2 个文件是相同的,但其中一个文件没有$c
. 像这样
ID_ABC18XXR3CT123_.job
ID_ABC18XXR3CT123_AE.job
但是,如果我放置$PO_Path
的文件超过 1 个,则效果很好。任何人都可以帮助我。谢谢。
Function Create_OriJob
{
$BID = "18XXR3CT123"
$Job_Path = $Config_File.Automation_Config.Path.OriJob
$PO_Path = $Config_File.Automation_Config.Path.POfiles
if(Test-Path -Path "$PO_Path\*$BID*")
{
Write-Output "SWPO File Found"
# Start-Sleep -s 3
$PO_Content = Get-Content -path "$PO_Path\*$BID*"
$POfile = Get-ChildItem -Name "$PO_Path\*$BID*"
$Get_CRM = $PO_Content | Where-Object {$_ -like "*;CRM*"}
$CRM = $Get_CRM.Substring(5,2)
$CRM = $CRM.split()
$POCountry = Get-ChildItem -Name "$PO_Path"
$GetCountry = $POCountry.Substring(15,3)
$GetCountry = $GetCountry.split()
For($i = 0; $i -lt $POfile.Length; $i++){
try{
$po = $POfile[$i]
$c = $CRM[$i]
$cc = $GetCountry[$i]
New-Item -ItemType File -Path "$Job_Path\$JobType`_$Prefix$BID`_$c.job" -Force
$Title = $Config_File.Automation_Config.Out_Job.Title
$Auto = $Config_File.Automation_Config.Out_Job.Auto
$Proc = $Config_File.Automation_Config.Out_Job.Process
$Auto = $Config_File.Automation_Config.Out_Job.Auto
$PO_Conf = $Config_File.Automation_Config.Out_Job.PO
$BIDINFO = $Config_File.Automation_Config.Out_Job.BIDINFO
$BuildID = $Config_File.Automation_Config.Out_Job.BID
$PFX = $Config_File.Automation_Config.Out_Job.PFX
$CRM_Conf = $Config_File.Automation_Config.Out_Job.CRM
$CountryConf = $Config_File.Automation_Config.Out_Job.Country
$Platform = $Config_File.Automation_Config.Out_Job.Platform
$TSJobcreate = Get-Date
$Output_JOB = @"
<?xml version="1.0" encoding="UTF-8"?>
<$Title>
<$Auto>
<$Proc>$Auto</$Proc>
<$PO_Conf>$po</$PO_Conf>
</$Auto>
<$BIDINFO>
<$BuildID>$BID</$BuildID>
<$PFX>$Prefix</$PFX>
<$CRM_Conf>$c</$CRM_Conf>
<$CountryConf>$cc</$CountryConf>
</$BIDINFO>
<$Platform>
$All_SSID
</$Platform>
<Timestamp>
<JobCreate>$TSJobcreate</JobCreate>
</Timestamp>
</$Title>
"@
$Output_JOB | Out-File "$Job_Path\$JobType`_$Prefix$BID`_$c.job" -NoNewline
Write-Host "Output"
}
catch{
Write-Output "Something wrong!"
}
}
Write-Output "Continue to create operational job"
Create_OpJob
}
else{
Write-Host "SWPO Not Found, Do Error checking file"
Error_Monitoring
}
#Error_Monitoring
}
解决方案
推荐阅读
- javascript - 在新路由 onClick 中呈现动态数据 - React JS
- json - Spark SQL Collect_list(struct) 保存为 json
- python - 隐藏excel的数据透视表字段标题
- r - 在表格的 y 轴上按组提取前 10 个值
- java - java 扫描器仅在检测到整数时才继续
- c++ - Qt 的 QVector3D::operator[] 是否有未定义的行为?
- c# - 从 WebBrowser 中加载的页面中的链接打开本地 html 文件
- python - SQLAlchemy TypeError:__init__() 为参数“名称”获取了多个值
- arrays - 我需要帮助自动将 Google 表单中的新数据调用到其他多个表单中
- javascript - Is there a simpler way to write this React function?