我有一个文件夹中的文件列表,每个文件夹的格式如下:custID_invID_prodID。对于每个文件,我需要将其分成基于'_'的部分。目前,我有这样的代码Powershell脚本从文件夹列表中的文件名中提取信息
$files = Get-ChildItem test *.txt
$Part = $files.Split(';')[$($files.Split('_').Count-1)]
Write-Host "${Part}"
的问题是,似乎$files
是所有文件的清单,我需要它来运行自己的每个文件。任何人都可以提供一些关于如何为整个文件夹做到这一点的指针?
谢谢先生!快速的问题,如果一个文件丢失,其中一个部分是否有可能创建一个检查,并让它跳过该文件,如果有任何部分丢失?我在计算在名称中找到'_'多少次? –
对不起!说太快了,我已经通过使用:(Select-String -Pattern([regex]'_ +')-InputObject $ Subject -AllMatches).Matches.Count –
嗯,我很高兴你的尝试和学习! ...我是通过度量对象来做的,并且在有三个ID的情况下做了场景......所以实现2和1不应该很难......也可以先用cast来使用split命令......忘了那个,更新了我的文章 – Cole9350