我正在尝试重命名或删除文件名的一部分。我有一个计划的作业,将更新的文件从一台服务器移动到另一台服务器。一旦文件被移动,它需要被重命名。例如:我Filename_01-23-AB.exe
想Filename.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
}