Dev Asked: 2022-10-12 13:23:46 +0800 CST2022-10-12 13:23:46 +0800 CST 2022-10-12 13:23:46 +0800 CST 使用powershell替换下划线_之前的文件名 772 我需要帮助替换下划线之前的文件名。 例如:ABC_123.xls我希望它重命名为123.xls和。CAB_234.xls234.xls powershell characters 1 个回答 Voted Best Answer postanote 2022-10-12T17:19:47+08:002022-10-12T17:19:47+08:00 根据我的评论,这实际上是完成此任务的一行代码。 你必须提交代码(展示你的努力)让人们想要帮助你,但我把它放在这里作为一个启动点,让你朝着正确的方向前进。许多 Youtube 视频向您展示了如何做到这一点以及更多。在 Youtube 上搜索“开始 PowerShell”或“PowerShell 文件和文件夹管理”。 基本/简单字符串替换: # Replace the start of a string up to and including the underscore. https://regex101.com 'ABC_123.xls', 'CAB_234.xls' -replace '.*_' # Results <# 123.xls 234.xls #> 创建测试文件: 'ABC_123.xls', 'CAB_234.xls' | ForEach-Object {New-Item -Path 'D:\Temp' -Name $PSItem -ItemType File} # Results <# Directory: D:\Temp Mode LastWriteTime Length Name ---- ------------- ------ ---- -a---- 11-Oct-22 18:14 0 ABC_123.xls -a---- 11-Oct-22 18:14 0 CAB_234.xls #> 按全名获取文件列表并更改它: (Get-ChildItem -Path 'D:\Temp' -Filter '*.xls').FullName | ForEach-Object { Rename-Item -Path $PSItem -NewName ($PSItem -replace '.*_') -WhatIf} # Results <# What if: Performing the operation "Rename File" on target "Item: D:\Temp\ABC_123.xls Destination: D:\Temp\123.xls". What if: Performing the operation "Rename File" on target "Item: D:\Temp\CAB_234.xls Destination: D:\Temp\234.xls". #> 删除 WhatIf 以使其成为现实。
根据我的评论,这实际上是完成此任务的一行代码。
你必须提交代码(展示你的努力)让人们想要帮助你,但我把它放在这里作为一个启动点,让你朝着正确的方向前进。许多 Youtube 视频向您展示了如何做到这一点以及更多。在 Youtube 上搜索“开始 PowerShell”或“PowerShell 文件和文件夹管理”。
基本/简单字符串替换:
创建测试文件:
按全名获取文件列表并更改它:
删除 WhatIf 以使其成为现实。