我有这个代码:

$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 '')

应该这样做。

10-07 19:14
查看更多