我有一个文件夹,里面有我所有的多通道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有人能帮我吗?
发布于 2020-11-06 06:00:22
@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 (!)变量不是必需的.
我希望我能帮到你。
https://stackoverflow.com/questions/64596982
复制相似问题