使批处理脚本命令显式而不是隐式

使批处理脚本命令显式而不是隐式

下面的 bat 文件仅在 bat 文件所在的特定文件夹内工作,我希望它能在该文件夹之外工作,或者至少在与批处理脚本所在的文件夹不同的文件夹中工作。我对 bat 文件还不熟悉,不确定,但我尝试了一些方法,但没有成功。

此代码将删除文件名的一部分,“ _page”设置为下面的变量。

setlocal enabledelayedexpansion
set deletestring=_page
echo Ready to start
echo.
pause
echo.
for /f  "delims==" %%F in ('dir /b /l *.png  ^| find "%deletestring%"') do (
    set oldfilename=%%F
    set newfilename=!oldfilename:%deletestring%=!
     Ren "!oldfilename!" "!newfilename!"
    )

答案1

只需更改*.png"c:\folder\path\*.png",然后在批处理命令中for循环应该从任何文件夹运行,针对.png文件的完整显式路径。只需将.png文件夹路径设置为src=变量值,然后在dirfor循环的命令。

示例脚本

setlocal enabledelayedexpansion
set deletestring=_page
set src=c:\folder\path
echo Ready to start
echo.
pause
echo.
for /f  "delims==" %%F in ('dir /b /l "%src%\*.png"  ^| find "%deletestring%"') do (
    set oldfilename=%%F
    set newfilename=!oldfilename:%deletestring%=!
    Ren "!oldfilename!" "!newfilename!"
    )

脚本说明

在此处输入图片描述


更多资源

相关内容