vielleicht kann mir jemand dabei helfen. Ich versuche, eine Checklisten-Box aus einer CSV zu generieren, nur mit den Kopfzeilen. Dann nur Export-cvs mit den Titeln und Daten in dieser Spalte, die ich überprüftePowershell, CSV und Checklistbox
die Überschrift und die Menge der Felder ändert sich mit den verschiedenen CVS ich benutze, so kann ich es nicht hart Code.
derzeit verwende ich die Folge Code, den die Header in den CheckListBox auffüllt, aber es erzeugt in einer Zeile
Get-Content $list | select -First 1
zeigt unter
Namen, Art, Alter, Rasse, Schüssen
was ich möchte, dass es die Namen direkt neben einer Checkbox wie dieser erzeugt
Name Art Alter Rasse Aufnahmen
dann kann ich weitermachen, um die Check-Felder zu exportieren-CSV. Dank der Zeit voraus
# # # # # # # # # # # # # # # # # # # # #
die kommen ist Programm ist genau das, was ich für danken Ihnen suchen. aber das Problem, das ich jetzt habe, ist zu versuchen, es in das Programm zu integrieren, ich hatte gehofft, es war ein One Line Fixierer das ganze Problem ist ziemlich groß, aber das ist der Teil, mit dem ich Probleme habe. hier ist der ursprüngliche Code
Dieser Teil
$MasterBtn_Click={
if($openfile.ShowDialog() -eq 'OK')
{
$MasterTxT.Text = $openfile.FileName
$MasterLT = $MasterTxT.Text
}
$labelFormHeaders.Text = Get-Content $MasterLT | select -First 1
}
Dieser Teil vergleicht die CSV laden würde und meine Entscheidungen exportieren
$buttonStartProcess_Click={
$script:CancelLoop = $false
$buttonCancelProcess.Enabled = $true
$this.Enabled = $false
$progressbar1.Value = 0
for($i = 0; $i -lt $progressbar1.Maximum; $i++)
{
#----------------------------------------
$col1 = $textbox1.text
$col2 = $textbox2.text
$col3 = $textbox3.text
$col4 = $textbox4.text
$col5 = $textbox5.text
$col6 = $textbox6.text
$list = $EventLt
$Data = $MasterLT
$Userlist = Import-csv -path $list
$userData = Import-Csv -Path $Data
$UserOutput = @()
$Result = "C:\Temp\Results1.csv"
ForEach ($name in $UserList)
{
$userMatch = $UserData | where {$_.ID -eq $name.usernames}
If($userMatch)
{
# Process the data
$UserOutput += New-Object PsObject -Property @{ID =$name.usernames; "$col1" = $userMatch.$col1; "$col2" =$userMatch.$col2; "$col3" =$userMatch.$col3;"$col4" =$userMatch.$col4;"$col5" =$userMatch.$col5;"$col6" =$userMatch.$col6} #
}
else
{
$UserOutput += New-Object PsObject -Property @{ID =$name.usernames; "$col1" ="NA";"$col2" ="NA";"$col3" ="NA";"$col4" ="NA";"$col5" ="NA";"$col6" ="NA"}
}
}
$UserOutput | Select-Object "ID","$col1","$col2","$col3","$col4","$col5","$col6" | Export-Csv -Path $Result -NoTypeInformation
sleep -Milliseconds 200
[System.Windows.Forms.Application]::DoEvents()
if($script:CancelLoop -eq $true)
{
$progressbar1.Value = 0
break;
}
r
$progressbar1.PerformStep()
}
$this.Enabled = $true
$buttonCancelProcess.Enabled = $false
}
derzeit Ich habe eine Reihe von Textfeldern, dass ich in der Hand hätte Geben Sie die Kopfzeilen ein. Ich möchte das beseitigen und eine generierte checkbox-Liste haben, die, wenn ein Kasten überprüft wird und ich den "$ buttonstartprocess" trete, zieht es jene Wahlen vom Checkbox und gibt mir die Reihen, die ich will. hoffe ich verliere niemanden. Danke nochmal.
Es klingt wie Name, Spezies, ... ist eine Reihe von Feldnamen (Spaltennamen). Versuchen Sie das aus der CSV-Datei herauszufinden? Wenn ja, habe ich ein Tool, das ich poste, das ein etwas anderes Problem löst, aber Code enthält, den Sie möglicherweise anpassen können. –