如何用bat批量删除某个字符后面的10个字符,如下:

t460p_swsg_sc_SP40K04946_zh-cn_sp40f13007.docx
改为
t460p_swsg_zh-cn_sp40f13007.docx
删除了
sc_SP40K04946
SP40K04946这一部分不是一成不变的,如何用正则表达? 谢谢

set fn=t460p_swsg_sc_SP40K04946_zh-cn_sp40f13007.docx
echo %fn:~,11%%fn:~25%

举个例子给你看看。

追问

谢谢你
sc_SP40K04946因为SC后面的数字不是一成不变的,我能嵌入正则么 比如_sc_[^_]*,谢谢

追答

是字数长度不一定吗?如果长度固定,那我提供的参考就可以。

如果长度不一定,那么可以使用for命令分割段落。

假设处理目录中所有docx文件

for /f "tokens=1-6 delims=_" %%a in ('dir /a-d/b *.docx') do ren "%%~a_%%~b_%%~c_%%~d_%%~e_%%~f" "%%~a_%%~b_%%~e_%%~f"

温馨提示:答案为网友推荐,仅供参考