Batch file 批处理文件以使文件名达到指定字符

Batch file 批处理文件以使文件名达到指定字符,batch-file,Batch File,我在目录中有文件名,格式为Mumbai Short Call Agentwise Mumbai Short Call-3-01092016。我想去掉第二个连字符后的所有内容,保留文件名的第一部分 有没有一个好的网站可以指导我如何做到这一点?或者,也许你们中的一位dos批处理专家可以指导我如何做到这一点 for /f "tokens=1,2,* delims=-" %%a in ('dir /b *-*-*') do @ECHO ren "%%a-%%b-%%c" "%%a-%%b%%~xc"

我在目录中有文件名,格式为
Mumbai Short Call Agentwise Mumbai Short Call-3-01092016
。我想去掉第二个连字符后的所有内容,保留文件名的第一部分

有没有一个好的网站可以指导我如何做到这一点?或者,也许你们中的一位dos批处理专家可以指导我如何做到这一点

for /f "tokens=1,2,* delims=-" %%a in ('dir /b *-*-*') do @ECHO ren "%%a-%%b-%%c" "%%a-%%b%%~xc"
对于具有给定掩码的每个文件
*-*.
:获取第一部分(
%%a
)和第二部分(
%%b
)以及其余部分的扩展名(其余部分:
%%c
;其余部分的扩展名:
%%xc

注: -如果缩短文件名,请注意可能的重复
@ECHO
只列出了重命名命令。如果输出满足您的要求,请删除
@ECHO


请参见
以获取/?
或了解更多信息

我建议您删除请求一个好网站的部分,并将重点放在社区对实际问题的帮助上。要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题与堆栈溢出无关。如果我的文件位于D:\NewFolder中,那么应该对此进行哪些更改–对于/f“tokens=1,2,*delims=-”%%a in('dir/b-->')do@ECHO ren“%%a-%%b-%%c”“%%a-%%b%%xc”最简单的方法:
cd/D“d:\NewFolder”
之前。更好的方法是:在之前和之后分别按d:\NewFolder“和
popd