powershell - 需要使用 PowerShell 将包含文件列表的文件拆分为块 AG、HN ...
问题描述
文本文件包含按字母顺序排列的文件列表。
path\afilename1.nnn
path\bafilename1.xxx
path\cafilemane2.sdf
path\ccfilename3.fds
...
我需要将文件划分为单独的文件,其中包含以字母 A 到 G 开头的文件列表 下一个文件包含文件列表 H 到 N 等等......
解决方案
我觉得我们可以以某种方式Group-Object
在这里为我们工作,但是 Lieven 提到的转换方法是一个非常好的开始。我要补充一点,它Switch{}
可以直接查询文件,所以很简单:
$a_g_Files = [Collections.ArrayList]@()
$h_n_Files = [Collections.ArrayList]@()
Switch -RegEx -File 'c:\temp\filelist.txt'
{
'^path\\[a-g]' { [void]$a_g_Files.Add( $_ ); Break }
'^path\\[h-n]' { [void]$h_n_Files.Add( $_ ); Break }
}
$a_g_Files | Add-Content "c:\temp\a-gfiles.txt"
$h_n_Files | Add-Content "c:\temp\h-nfiles.txt"
这部分取决于“路径”是否是字面的,或者它是否因行而异。但可以肯定的是,即使是变化也可以用 RegEx 处理。
推荐阅读
- javascript - 从开始选择输入(输入)
- sikuli - 如何用Sikuli制作整页截图?
- python - 一方面,KFlold 与 shuffle=True 的 KFold 和另一方面在 sklearn 中的 RepeatedKFold 之间的差异
- swift - 在 swiftUI 关闭后如何将数据保留在我的应用程序中?
- gradle - 如何将此子项目部分从 groovy gradle 文件转换为 kotlin kts 文件?
- c# - Azure IQueueClient:如何模拟传入消息?
- javascript - Vue i18n - 如何在 i18n 组件选项中获取当前语言环境?
- php - 数据库连接在线失败,在本地主机上工作
- javascript - Puppeteer:如何在不使用评估的情况下获取父节点?
- react-native - 在 react-native-chart-kit 中修改标签的宽度