首页 > 解决方案 > 使用 PowerShell 删除文件名中的所有字符(包括一个字符)

问题描述

我想-使用 PowerShell 删除目录中文件名中的第一个字符(包括第一个字符)之前的所有字符。一个示例文件名是:batch orders October 17 - 16278856 - all orders October 17-18.pdf

我只想通过第一个 - 删除所有内容,因此上面的名称将更改为:16278856 - all orders October 17-18.pdf

标签: powershell

解决方案


使用-replace运算符。

'foo - bar - baz.pdf' -replace '^[^-]*-\s*'

^匹配字符串的开头。[^-]*匹配任意数量的非连字符的连续字符。-\s*匹配文字连字符后跟任意数量的空白字符。

在没有替换值的情况下调用-replace会删除匹配的子字符串。


推荐阅读