我有这个代码:
$folder = "C:\Folder"
Get-ChildItem $folder | ForEach {
.\hi-data-upload-utility uploadDataSetFile `
-said *********************** `
-sas ************************ `
-sid ************************ `
-dsid &&&&_MCK_STAR_EDI_837_5010_INST `
-sv 1 `
-fid SINGLE_FILE `
-rl 20160116 `
-f $($_.fullname) `
-re ‘837 Institutional Claims’
}
如何修剪
$($_.fullname)
的后8位数字。不包括扩展名.c5
吗?我只需要_STAR
之后的日期部分。文件夹中的文件均采用以下格式:00037888_STAR_08302017.c5
最佳答案
Get-ChildItem
的结果包括属性BaseName
,它是不带扩展名的文件名。
可以将范围传递给字符串上的索引运算符,从结尾开始测量负数(-1是最后一个字符),返回一个字符数组,我当然可以合并这些字符。
所以:
($_.BaseName[-8..-1] -join '')
应该这样做。