我有多台机器将文件上传到一个 FTP 目录。文件名的第一部分是机器,其余部分是时间戳,例如AAAAA_20130312_125113。
现在我想获取已上传到此目录的所有唯一计算机的排序列表。
我设法将丢失的所有 filenames.substring(0,5) 写入主机,但我仍然没有唯一的计算机名称。
$files=Get-ChildItem $strMOVETO -Name -Include TAS*.csv -Recurse
ForEach ($i in $files) { Write-Host $i.Substring(0,5) }
关于如何执行此操作有任何提示吗?不一定非得是单行,尽管这将是一个很好的挑战;-)。
Thanks!
当您拥有 8 个字符的机器名称时会发生什么?你的substring
会破裂。由于机器名称、日期和时间由_
,拆分并获取第一项。
Get-ChildItem $strMOVETO -recurse -name -include TAS*.csv|%{$_.split("_")[0]}|sort-object -unique
还要按日期过滤:
Get-ChildItem $strMOVETO -recurse -include TAS*.csv|where-object{$_.lastwritetime -ge (get-date).adddays(-1)}|%{$_.basename.split("_")[1]}|sort-object -unique
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)