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

如何使用PowerShell为子文件夹中的无扩展名文件添加.txt扩展名

给无扩展名文件批量添加.txt扩展名的正确PowerShell方法

嘿,我看你之前试的两个命令都踩了点小坑,咱们来修正下:

先说说你之前命令的问题:

  • 第一个命令里,-Filter参数不支持{!($_.Extension)}这种脚本块写法,它只认通配符;而且重命名时用$_.DirectoryName + '.txt'会把文件的完整路径当成新文件名,这根本不是你要的效果,反而会搞乱文件命名。
  • 第二个命令语法本身就不对,而且用$_.Directory.Name + '.txt'会把所有无扩展名文件都改成所在文件夹的名字加.txt,同文件夹里的这类文件直接就重名报错了,完全不符合需求。

给你两个靠谱的解决方案,选哪个都行:

方案一:简洁直接版

Get-ChildItem -Path "G:\Those" -File -Recurse | Where-Object { $_.Extension -eq '' } | Rename-Item -NewName { $_.Name + '.txt' }

方案二:安全预览版(推荐新手用)

如果你怕误改文件,可以先加-WhatIf参数预览所有要修改的操作,确认没问题再去掉参数执行实际修改:

# 先预览修改效果,不会真的改文件
Get-ChildItem -Path "G:\Those" -File -Recurse | Where-Object { $_.Extension -eq '' } | Rename-Item -NewName { $_.Name + '.txt' } -WhatIf

# 确认后执行实际重命名
Get-ChildItem -Path "G:\Those" -File -Recurse | Where-Object { $_.Extension -eq '' } | Rename-Item -NewName { $_.Name + '.txt' }

这个命令的逻辑很清晰:

  1. 先递归遍历G:\Those下的所有文件(只找文件,排除文件夹)
  2. 筛选出那些没有扩展名的文件
  3. 给每个符合条件的文件在原文件名后面加上.txt扩展名

这样就能精准完成你要的批量修改啦~

内容的提问来源于stack exchange,提问作者Matt M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:31:25