今天实现一个新需求,将文件夹中的.cc文件拷贝一份并重命名为.cpp 查资料了解到SETLOCAL的用途以及 !param! 的用法 记录备忘一下
SETLOCAL ENABLEDELAYEDEXPANSION
for /R %%i in (*.cc) do (
rem echo %%i ~
set old_name=%%i
set new_name=!old_name:~0,-3!
echo !new_name!
copy %%i !new_name!.cpp
)
ENDLOCAL
@echo off
set str=abcdefgecho 第一个字符为:%str:~0,1% #a
echo 头两个字符为:%str:~0,2% #abecho 去掉最后一个字符后的字符串为:%str:~0,-1% #abcdef
echo 去掉最后3个字符后的字符串为:%str:~0,-3% #abcd
echo 第4个字符为:%str:~3,1% #d
echo 第4个及其之后的3个字符为:%str:~3,4% #defg
echo 最后一个字符为:%str:~-1% #g
echo 倒数第4个字符为:%str:~-4,1% #d
echo 倒数第4个及其之后的字符为:%str:~-4% #defg
echo 倒数第4个及其之后的1个字符为:%str:~-4,2% #de
echo 倒数第4个及其之后的2个字符为:%str:~-4,3% #def
pause