Apr 20 2023 02:29 PM
I have a folder structure that contains thousands of files constructed with a date as part of the file name. I need to be able to reconstruct the date from the file name, count the number of files with that date string in the name. In the example below the first entry includes 230216, which represents February 16, 2023. Two files in this list have that date in their name, followed by three files on February 17, 2023. I need to be able to examine every file name in the folder and produce a CSV output file in this format:
Year, Month, Day, Count
2023,02,16,2
2023,02,17,3
2023,02,18,5
...
Any assistance greatly appreciated!
Apr 21 2023 01:17 PM
Something like this?
PS C:\> $Directory = "C:\GIT_WorkingDir\PowerShellScripts\Techcommunity\Files"
PS C:\> $FileStat = Get-ChildItem $directory | Group {$_.Name.SubString(0,6)} | Sort-Object Name | Select Name, Count
PS C:\> $FileStat
Name Count
---- -----
230216 2
230217 3
230218 1
Regards
Andres
Apr 24 2023 05:28 PM - edited Apr 25 2023 05:07 AM
Greetings Andres,
As I attempted to incorporate your solution, I realized that my description of the problem was incomplete. I need to subset the list of file names according to a string contained in some of the files. The subsetting code is working, but I'm not getting your solution incorporated correctly to get the count. The code below produces a list of files that contain the specified string, but my results include all file names, not just a count of those who's substring dates are the same. See my code and present output below. I need to be able to apply the grouping and counting after the subsetting.
My subsetting code:
Get-ChildItem -Path "\\MyDirectory" -Filter "*.inf" -Recurse |
ForEach-Object {
$File = $_;
if ((Get-Content -Path ($_.FullName) -Raw) -match "$tStr") {
[PSCustomObject] @{
Created = $file.CreationTime
Filename = $File.FullName;
}
}
} |
Export-Csv -NoTypeInformation -Path "$csvlog"
Present Output:
"Created","Filename"
"12/21/2022 1:57:22 AM","\MyDirectory\\221221,005519621,-6t,R79,F2384.inf"
"12/21/2022 3:31:19 AM","\MyDirectory\\221221,022923433,-6t,R79,F2385.inf"
"12/21/2022 8:09:30 AM","\MyDirectory\\221221,070653869,-6t,R79,F2386.inf"
"12/21/2022 1:24:20 PM","\MyDirectory\\221221,122230539,-6t,R79,F2390.inf"
"12/22/2022 4:32:25 AM","\MyDirectory\\221222,032959801,-6t,R79,F2391.inf"
"12/22/2022 5:40:25 AM","\MyDirectory\\221222,043833085,-6t,R79,F2392.inf"
"12/22/2022 11:34:32 PM","\MyDirectory\\221222,223339271,-6t,R79,F2393.inf"
"12/23/2022 1:06:39 AM","\MyDirectory\\221223,000458540,-6t,R79,F2394.inf"
"12/23/2022 2:10:45 AM","\MyDirectory\\221223,010925319,-6t,R79,F2396.inf"
"12/23/2022 4:14:32 AM","\MyDirectory\\221223,031330457,-6t,R79,F2397.inf"
"12/24/2022 2:34:47 PM","\MyDirectory\\221224,133325993,-6t,R79,F2402.inf"
Apr 24 2023 05:41 PM - edited Apr 25 2023 05:09 AM
This reply was not needed.
Apr 25 2023 02:48 PM