使用批处理文件重命名文件 - 原始文件名各不相同

时间:2018-01-09 17:35:16

标签: batch-file

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

例如,我有以下信息:63edaa55dfh33_Section1.pdf63edaa55dfh33_Section2.pdf63edaa55dfh33_Section3.pdf

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

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

这个解决方案可能也行不通,因为我并不总是知道我想删除的字符数,这就是为什么我想要一种方法来说明删除所有内容并包括_。

1 个答案:

答案 0 :(得分:0)

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

PATCH http://server:8080/tfs/Collection/Project/_apis/build/builds/{buildId}?api-version=2.0

Content-Type: application/json

{
  "buildNumber": "TEST.20170123.1"
}

这会让你感受到它是如何运作的。基本上,for /f "tokens=1,* delims=_" %a in ('dir /B *.pdf') do @echo %a_%b %b 会导致"tokens=1,* delims=_"命令的输出被拆分为前后分隔部分(分别为%a和%b)。在批处理脚本中,您需要将所有百分比符号加倍:

dir /B *.pdf