You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本问题:为含点无扩展名文件添加.xml后缀

为含点的无扩展名文件添加.xml后缀

问题场景

现有PowerShell脚本仅能给文件名不含点的无扩展名文件添加.xml后缀,例如对BC Logistics SPA con Socio Duo - 2022-03-31 - FT 123456VESE这类文件有效,但无法处理像A.B.C. Mini MAGAZZINI - 2022-02-25 - FT MM9 000000123这种文件名含点但无扩展名的文件。同时目录中存在已带.xml、.pdf扩展名的文件,且不能排除这两类文件(目录内其他文件后续会被流程删除)。

原脚本:

Get-ChildItem "C:\TEST" -file "*." | rename-item -NewName {"{0}.xml" -f $_.fullname}

问题分析

  1. 原脚本的"*."筛选器仅匹配文件名最后一个字符是点的文件,无法覆盖文件名中间带点但无扩展名的情况;
  2. 原脚本使用$_.FullName拼接新文件名会导致路径被包含进文件名,触发重命名错误。

解决方案

通过判断文件的Extension属性是否为空,精准筛选所有无扩展名的文件,再直接拼接.xml后缀:

Get-ChildItem "C:\TEST" -file | Where-Object { $_.Extension -eq '' } | Rename-Item -NewName { $_.Name + '.xml' }

脚本说明

  • Get-ChildItem "C:\TEST" -file:获取目标目录下的所有文件;
  • Where-Object { $_.Extension -eq '' }:筛选出无扩展名的文件,不管文件名中是否包含点;
  • Rename-Item -NewName { $_.Name + '.xml' }:仅使用文件名(不含路径)拼接.xml后缀,避免路径错误。

这样既可以处理文件名带点的无扩展名文件,又不会误修改已带.xml或.pdf的文件(因为这类文件的Extension不为空,会被筛选排除)。

内容的提问来源于stack exchange,提问作者Kees Netelvrees

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:15:43