下面的 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=
变量值,然后在dir
for循环的命令。
示例脚本
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!"
)
脚本说明