如何解决通过删除文件的现有基本名称来重命名文件
我有一个文件夹,我的所有多通道3d渲染都在其中。我不得不多次启动和停止渲染,这导致名称更改。
名称:
Mask_Opening_Scene_Multipass_i1_0230.exr
Mask_Opening_Scene_Multipass_i1_0231.exr
Mask_Opening_Scene_Multipass_i1_0232.exr
大量文件被命名为:
Mask_Opening_Scene_Multipass0230.exr
所以我需要的是删除_i1_
这就是我所拥有的:
@echo off
set list="*_il_*"
echo List of files
echo.
echo.
for /r %%a in (%list%) do (
set file=%%a
echo "!file!" "!File:_i1_=!")
)
pause
有人可以帮我吗?
解决方法
@echo off
setlocal enabledelayedexpansion
set "list=*_il_*"
echo List of files
echo.
echo.
for /f %%a in (%list%) do (
set file=%%a
echo "!file!" "%File:_i1_=%")
pause
或
@echo off
setlocal enabledelayedexpansion
set "list=*_il_*"
echo List of files
echo.
echo.
for /f %%a in (%list%) do (
set file=%%a
echo "!file!" "!File:_i1_=!")
pause
首先,您没有启用延迟扩展,因此不能将变量与“!”一起使用。
然后,使用/ r而不是/ f,/ r表示路径,/ f表示文件,因此使用/ r可能会捕获错误。
您不必指定_i1_
会是什么,只需输入%file:_i1_=%
,名称就会消失,而且我认为对于这些变量,不需要延迟的var(!)。 ..
希望我能帮助您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。