windows PowerShell -仅在文件名中保留ID

omvjsjqw  于 2023-08-07  发布在  Windows
关注(0)|答案(1)|浏览(99)

我有一个大文件夹,里面有其他文件夹和文件,我想只在文件名的[]之间保留一个特定文件类型的代码。下面是一个示例:
标题[ID].txt
所有的文件都是这样的。我想所有的txt文件得到的只是作为名称的ID。我认为powershell可以帮助我,但我不知道如何。
有什么需要帮忙的吗?
太菜鸟在PS能够做任何事情而不冒着搞砸了一切

9o685dep

9o685dep1#

您可以给予以下方法,首先使用Get-ChildItem查找名称中包含[]的任何文件或文件夹,然后您可以将该对象通过管道传输到Rename-Item,在那里您可以使用正则表达式模式提取括号中的内容作为文件或文件夹的“新名称”。-WhatIf开关将通知您将要执行的操作,您应该在确认代码将执行您期望的操作后删除它。

Get-ChildItem path\to\sourceFolder -Filter '*[*]*' -Recurse | Rename-Item -NewName {
    [regex]::Match($_.Name, '(?<=\[)[^]]+').Value + $_.Extension
} -WhatIf

字符串
如果你只想定位文件而不是文件夹,那么你可以包含-File开关:

Get-ChildItem path\to\sourceFolder -Filter '*[*]*' -Recurse -File | ...

相关问题