需要帮助解决文件扩展名中奇怪的渐进编号问题

需要帮助解决文件扩展名中奇怪的渐进编号问题

在此图中:

Get-Childitem 输出的屏幕截图

您可以看到,我正在使用 Powershell 按类型统计文件数量,但是,我发现计数中有些异常。即,有些文件扩展名采用渐进编号,例如*.package(1)*.package(2)

我不明白并且需要帮助的是,尽管 PS 显示这些文件存在,但当我进入搜索的文件夹并按类型排序时,Windows 资源管理器显然无法区分 a*.package和 a*.package(1)或更远。正如您所见,我有很多包,因此尝试逐行查看每个文件扩展名是不可能的,至少对我来说是这样。我并不是说我“懒惰”或其他什么,而是我的视力受损,所以“逐行”查看东西根本不可能。

因此,我求助于 Google,但我要么不知道如何措辞我的搜索请求,要么答案根本就不存在,因为我找不到定位这些文件的解决方案。

因此,我的问题是,有没有办法使用 Windows 命令 Shell 或 Powershell 来找到扩展类型末尾带有 (#) 的文件,并将它们移动到另一个文件夹?

答案1

探索者,您可以在其上添加File extension列和组 --- 这可能会起作用。

电源外壳

$Source = 'C:\Path\to\files'
$Dest   = 'C:\Destination\Folder'
Get-ChildItem $Source -File -Recurse |  Where Extension -match '\(.+\)' | Move-Item -Destination $Dest
  • 请注意,该-File参数消除了Where {-not $_.PSIsContainer }
  • -Match operator

相关内容