我正在尝试重命名一组在文件名开头有随机字符的文件。
例如,我有这些:63edaa55dfh33_Section1.pdf,63edaa55dfh33_Section2.pdf,63edaa55dfh33_Section3.pdf
我想将它们重命名为Section1.pdf, Section2.pdf和Section3.pdf.
问题是"63edaa55dfh33_"部分可能会改变,所以基本上我想从每个文件中删除所有内容,包括_。我尝试使用rename "*.pdf" "////*.pdf"作为测试,但它不起作用。前2个文件已正确重命名,删除了前4个字符,但由于某些原因,第3个文件删除了前8个字符。
这个解决方案也可能不起作用,因为我并不总是知道我想要删除的字符的数量,这就是为什么我想要一种方式来删除_之前的所有内容。
发布于 2018-01-10 12:58:13
在pdf文件夹中的命令行中运行以下命令:
for /f "tokens=1,* delims=_" %a in ('dir /B *.pdf') do @echo %a_%b %b这会让你对它是如何工作的有一个感觉。基本上,"tokens=1,* delims=_"会导致dir /B *.pdf命令的输出被分成传递前和传递后的部分(分别为%a和%b )。在批处理脚本中,您需要将所有百分比符号加倍:
@for /f "tokens=1,* delims=_" %%a in ('dir /B *.pdf') do @ren %%a_%%b %%bhttps://stackoverflow.com/questions/48173783
复制相似问题