Forum Discussion
How to add Export-Csv to a script
- Mar 09, 2022
Hello,
At the end of your for loop (within the loop) you would want to add your $file | export-csv... (line 32). As $files is being overwritten each time within the loop, you are going to only receive one output outside of the loop... Your last output which executes after your for loop.
I haven't tried your code personally, but typically when I export to CSV I create an object and export that as such.$object = New-Object -TypeName psObject $object | Add-member -MemberType NoteProperty -Name "Example" -value $variable $object | Export-Csv -Path $logFile -Force -Encoding ASCII -Append -NoTypeInformation
sorry for my low knowledges.
When this command is launched in PowerShell, it gives a list of all files available in each folders.
With the export-csv command, I'd like to get all the files names in a file for Excel.
Thank you for your help again !
MP21260
Hello,
At the end of your for loop (within the loop) you would want to add your $file | export-csv... (line 32). As $files is being overwritten each time within the loop, you are going to only receive one output outside of the loop... Your last output which executes after your for loop.
I haven't tried your code personally, but typically when I export to CSV I create an object and export that as such.
$object = New-Object -TypeName psObject
$object | Add-member -MemberType NoteProperty -Name "Example" -value $variable
$object | Export-Csv -Path $logFile -Force -Encoding ASCII -Append -NoTypeInformation
- MP21260Mar 11, 2022Copper ContributorHello Leavii,
thank you for your help ! I am about to solve the problem to create the CSV file.
I put this :
$object = New-Object -TypeName psObject
$object | Add-member -MemberType NoteProperty -Name "NUM;FOLDER;AGENCY;TYPE;DOMAIN;FILE" -value $files
$object | Export-Csv -Path C:\Users\Admin\Desktop\List.csv\Files_List.csv -Force -Encoding ASCII -Append -NoTypeInformation
However it shows no files inside Files_List.csv.
I can't understand why this happens.
Can you help again for this ?
Thank you a lot because It is very hard for me to understand.
Best regards,
MP21260- LeaviiMar 11, 2022Brass Contributor
MP21260 See if this is what you are trying to accomplish. Change back to your paths. I test on my computer and this works for listing files, and counting them.
$emplacement = "U:\files\scripts\ps1\test\" ##parent folder $myFolders = @( ##array "File A", "File B", "File C", "File D", "File E", "File F", "File G", "File H" ) For($i=0;$i -lt $myFolders.Length;$i++) ## loop files in parent folder { $files = Get-ChildItem -Path $emplacement$($myFolders[$i]) ##get files from array file For($j=0;$j -lt $files.Length;$j++) #loop files in array file { $file = $files[$j].Name #assign name of file $count++ #add to count of files in array of files $object = New-Object -TypeName psObject #create object $object | Add-member -MemberType NoteProperty -Name "Count" -value $count ##add to object $object | Add-Member -MemberType NoteProperty -Name "File Name" -Value $file ## add to object $object | Export-Csv -Path files_list.csv -force -Encoding ASCII -Append -NoTypeInformation ##export object } } Write-Host "---------------------------------" Write-Host "Total documents : $count" Read-Host "---------------------------------" #read to pause script