在此图中:
您可以看到,我正在使用 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