Windows 10下批量移除文件名中的GS并保留.ipt后缀的方法
批量重命名移除文件名里的"GS"(用CMD搞定)
正确的CMD命令写法
CMD自带的rename命令没法直接用通配符做字符串替换,得用for循环逐个处理文件:
如果是在CMD窗口直接敲命令,用这个:
for %f in (*GS.ipt) do ( set "filename=%~nf" set "newname=!filename:GS=!" rename "%f" "!newname!.ipt" )
要是写成批处理文件(存成.bat双击运行),记得把变量里的%改成%%:
@echo off setlocal enabledelayedexpansion for %%f in (*GS.ipt) do ( set "filename=%%~nf" set "newname=!filename:GS=!" rename "%%f" "!newname!.ipt" ) endlocal
简单说下原理:
%~nf(批处理里是%%~nf)用来提取文件的主名(比如abcGS.ipt就提取成abcGS)!filename:GS=!是把主名里的"GS"直接删掉,变成abc- 加
setlocal enabledelayedexpansion是为了让循环里的变量能实时更新,不会一直用同一个初始值
解决“文件被占用”的错误
你之前遇到的错误翻译过来是:无法访问文件,因为它正被另一个进程使用。
可以这么解决:
- 先关闭所有可能打开这些.ipt文件的软件(比如CAD类工具、文件预览器之类的)
- 打开任务管理器,找到“Windows资源管理器”,右键选择“重启”试试
- 要是还不行,检查下有没有后台进程在占用文件,结束掉可疑进程就行
内容的提问来源于stack exchange,提问作者Georgije Stanisic
相关产品推荐
相关产品推荐

