Forum Discussion
MP21260
Feb 02, 2022Copper Contributor
How to add Export-Csv to a script
Hello ! I'm studying PowerShell and I'd like to add an Export-Csv command for a script. However I couldn't understand how to put this command in it. Here the script : $emplacement = "D:\DO...
- 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
MP21260
Mar 11, 2022Copper Contributor
Hello 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
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
Leavii
Mar 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
- LeaviiMar 11, 2022Brass ContributorGlad I could help 🙂