首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用批处理文件重命名文件-原始文件名有所不同

使用批处理文件重命名文件-原始文件名有所不同
EN

Stack Overflow用户
提问于 2018-01-10 01:35:16
回答 1查看 52关注 0票数 2

我正在尝试重命名一组在文件名开头有随机字符的文件。

例如,我有这些:63edaa55dfh33_Section1.pdf63edaa55dfh33_Section2.pdf63edaa55dfh33_Section3.pdf

我想将它们重命名为Section1.pdf, Section2.pdfSection3.pdf.

问题是"63edaa55dfh33_"部分可能会改变,所以基本上我想从每个文件中删除所有内容,包括_。我尝试使用rename "*.pdf" "////*.pdf"作为测试,但它不起作用。前2个文件已正确重命名,删除了前4个字符,但由于某些原因,第3个文件删除了前8个字符。

这个解决方案也可能不起作用,因为我并不总是知道我想要删除的字符的数量,这就是为什么我想要一种方式来删除_之前的所有内容。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-10 12:58:13

在pdf文件夹中的命令行中运行以下命令:

代码语言:javascript
复制
for /f "tokens=1,* delims=_" %a in ('dir /B *.pdf') do @echo %a_%b %b

这会让你对它是如何工作的有一个感觉。基本上,"tokens=1,* delims=_"会导致dir /B *.pdf命令的输出被分成传递前和传递后的部分(分别为%a和%b )。在批处理脚本中,您需要将所有百分比符号加倍:

代码语言:javascript
复制
@for /f "tokens=1,* delims=_" %%a in ('dir /B *.pdf') do @ren %%a_%%b %%b
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48173783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档