删除父路径

时间:2015-06-25 12:38:19

标签: powershell

以下脚本列出目录中的所有文件,并在控制台中返回其名称和路径。

结果如下:

C:\Projects\company\trunk\www\client\project\customer\start.js

我需要删除初始部分并获得结果,如

project\customer\start.js

我无法在Replace中设置正确的正则表达式。 你能指出我正确的方向吗?

Get-ChildItem -Path C:\Projects\company\trunk\www\client\project -Filter *.js -Recurse -File |
  Sort-Object Length -Descending |
  ForEach-Object {
    $_ = $_ -replace '\\C:\Projects\company\trunk\www\client\project', ''
    "'" + $_.FullName + "',"
  }

2 个答案:

答案 0 :(得分:4)

$_是一个FileInfo对象,而不是字符串,路径不以反斜杠开头,如果要使用{{{},则必须转义搜索字符串中的反斜杠1}} operator。

试试这个:

-replace

答案 1 :(得分:0)

由于管道上有一个FileInfo对象,你可以使用$ _。名称 - 不需要正则表达式