$ emails = Import-Csv“ C:\ Testing \ Emails.csv”
$ emails
.func (.param .b32 func_retval0) _Z3addii(
.param .b32 _Z3addii_param_0,
.param .b32 _Z3addii_param_1
)
{
.reg .b32 %r<4>;
ld.param.u32 %r1, [_Z3addii_param_0];
ld.param.u32 %r2, [_Z3addii_param_1];
add.s32 %r3, %r2, %r1;
st.param.b32 [func_retval0+0], %r3;
ret;
}
Email
User-1@test.com
User-2@test.com
User-3@test.com
User-4@test.com
User-5@test.com
User-6@test.com
User-7@test.com
User-8@test.com
User-9@test.com
User-10@test.com
$ DagSelection
.... and So on...
DAGname Sr
GB-01 1
GB-04 2
GB-02 3
GB-03 4
$ Array1
$DagValues = $DagSelection.dagname
[PSCustomObject]$Array1 = @()
foreach ($x in $DagValues) {$Array1 += 1..100 | foreach {[PsCustomObject]
@{Databases= $x + "-" + "{0:D3}" -f [int]$_}} }
Databases
GB-01-001
GB-01-002
GB-01-003
GB-01-004
GB-01-005
我的问题在这里,代码如下。它将为“电子邮件”列中给定的每个电子邮件地址填充数据库。但是,不是循环的。导致范围完成,我想要的是填写范围,直到我们有电子邮件地址到位。这意味着如果范围是GB-01-001到GB-01-100,则应从头开始。希望我在这里满足了要求。请让我知道是否有任何疑问。
.... and So on...
$ emailsTemp
电子邮件测试
$props = $Array1 | Get-Member -MemberType NoteProperty | select -ExpandProperty Name
foreach ($prop in $props){$emailsTemp | Add-Member -Name $prop -Value $null -MemberType NoteProperty -Force}
for ($i=0;$i -lt $emailsTemp.count; $i ++){ $emailsTemp[$i].Databases =
$Array1[$i].Databases}
$emailsTemp
User-1@test.com GB-01-001
User-2@test.com GB-01-002
User-3@test.com GB-01-003
User-4@test.com GB-01-004
User-5@test.com GB-01-005
User-6@test.com GB-01-006
User-7@test.com GB-01-007
User-8@test.com GB-01-008
User-9@test.com GB-01-009
User-10@test.com GB-01-010
......
User-401@test.com (I want to fill up here as well)
User-402@test.com (I want to fill up here as well)
`........依此类推...直到第一列名为 Email 的电子邮件ID出现。
答案 0 :(得分:1)
#Starting Values
$emails = Import-Csv "C:\Testing\Emails.csv"
$DagSelection = Import-Csv "something.csv"
$DagValues = $DagSelection.dagname
#Get Database array
[array]$Databases=$null
ForEach ($x in $DagValues) {
For ($i=1;$i -lt 101;$i++) {
[array]$Databases+=$x+"-"+("{0:D3}" -f [int]$i)
}
}
#Output Item
class OutputClassItem {
[string]$Email
[string]$DB
}
#Zipping together Email Addresses with Databases
#If Database list runs out, repeat from beginning
[array]$OutputArray=$null
$loopcount=0
Do {
For($j=0;$j -lt $Databases.Count -and $loopcount -lt $emails.Count;$j++) {
$OutputItem = New-Object -Type OutputClassItem
$OutputItem.Email=$emails[$loopcount]
$OutputItem.DB=$Databases[$j]
[array]$OutputArray+=$OutputItem
$loopcount++
}
} While ($loopcount -lt $emails.Count)
$OutputArray | Export-Csv "output.csv" -NoTypeInformation