如何用PowerShell实现目录选择并统计15分钟内新增CSV文件数
实现目录选择+近15分钟新增CSV文件统计的PowerShell脚本
以下是整合了目录选择与CSV文件统计功能的完整脚本,同时修正了原脚本中变量初始化的小问题:
Function Get-Folder($initialDirectory="") { [System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms")|Out-Null $foldername = New-Object System.Windows.Forms.FolderBrowserDialog $foldername.Description = "Select a folder" $foldername.rootfolder = "MyComputer" $foldername.SelectedPath = $initialDirectory if($foldername.ShowDialog() -eq "OK") { # 修正原脚本变量初始化问题,直接赋值而非累加 $folder = $foldername.SelectedPath } return $folder } # 获取用户选择的目录 $selectedFolder = Get-Folder # 处理用户未选择目录的情况 if (-not $selectedFolder) { Write-Host "未选择任何目录,脚本退出" exit } # 计算15分钟前的时间点 $15MinutesAgo = (Get-Date).AddMinutes(-15) # 统计目录下近15分钟内创建的CSV文件数量 $csvCount = (Get-ChildItem -Path $selectedFolder -Filter "*.csv" -File | Where-Object { $_.CreationTime -ge $15MinutesAgo }).Count # 输出结果 Write-Host "Number of csv files in last 15 minutes = $csvCount"
关键说明:
- 修正了原脚本中
$folder变量未初始化就使用+=的问题,避免首次运行时出现异常 - 添加了用户取消选择目录的判断逻辑,防止后续代码报错
- 使用
Get-ChildItem遍历目标目录,通过-Filter筛选CSV文件,再用Where-Object过滤出创建时间在近15分钟内的文件 - 最终通过
.Count属性获取符合条件的文件数量并输出指定格式的结果
内容的提问来源于stack exchange,提问作者user12389
相关产品推荐
相关产品推荐

