gpt4 book ai didi

windows - 使用 PowerShell 重命名或删除文件名中的字符

转载 作者:可可西里 更新时间:2023-11-01 11:48:27 29 4
gpt4 key购买 nike

我正在尝试重命名或删除文件名的一部分。我有一个计划的工作,将更新的文件从一台服务器移动到另一台服务器。移动文件后,需要对其进行重命名。例如:Filename_01-23-AB.exeFilename.exe 我想删除从“_”到“.”的所有内容。并保持分机不变。我发现下面的代码应该可以做到这一点,但我似乎无法让它工作。我在这里走的路正确吗?

## Removes the build number from the filename of "Filename_XX-XX-XX.exe" leaving the new filename to be "Filename.exe" ##

$File = -Path "C:\Temp\TestPath\"

foreach ($File in gci *.exe) {
$Fname = ($File.name).split('.')[0] ## item before the '.' ##
$Prefix = $Fname.split('_')[0] ## item before the '_' ##
$Newname = $Prefix + '.exe'
Rename-Item $file $Newname
}

最佳答案

我已尝试简化您要执行的操作:

pushd "C:\Temp\TestPath\"
dir | ? { $_.Name -like "*.exe" } |
% { Rename-Item $_ "$($_.BaseName.split('_')[0])$($_.Extension)" }
popd

首先,这会将您的 PowerShell 查看的目录更改为您定义的目录 (pushd)。然后它将获取您的目录的内容,找到所有扩展名为 .exe 的对象,并在下划线处拆分文件的基本名称。 popd 然后会将目录设置回运行此脚本之前的位置。

关于windows - 使用 PowerShell 重命名或删除文件名中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37350752/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com