【发布时间】:2020-09-03 10:36:15
【问题描述】:
我有数千个 HTML 文件名称,如“jweofimsdkfmoiwe-8592547472.html.tmp”和“jweofimsdkfmoiwe-8592547472.html.readme”我想通过命令重命名所有文件,只需要最后 10 个字符和 .html,如 8592547472。 html。我不是专家,但通过搜索我发现以下命令删除所有 .tmp 和 .readme
for /f "delims=." %a in ('dir /b *.html.readme') do ren "%~a.html.readme" "%~a.html"
for /f "delims=." %a in ('dir /b *.html.tmp') do ren "%~a.html.tmp" "%~a.html"
我搜索了很多,找到了很多解决方案,但仅用于删除起始字符。
REN *.* " *.*"
FOR %v IN (*.*) DO REN "%v" %v
我想要一个简单的代码来重命名文件并保留最后 10 个字符,如果包含删除最后一个 .tmp 和 .readme 的 .html 会非常好
How can convert it to use in CMD?
::Extract only the last 10 characters
SET _result=%_test:~-10%
ECHO %_result% =8592547472
提前致谢。
【问题讨论】:
-
文件名起始字符不固定为 16 个。
-
ss64.com/nt/syntax-substring.html 处的信息将有助于提取部分文件名字符串。
-
从技术上讲,您不能按照您的问题进行操作,因为
jweofimsdkfmoiwe-8592547472.html.tmp和jweofimsdkfmoiwe-8592547472.html.readme都需要重命名为8592547472.html,并且您不能在同级目录。 -
所有文件都有唯一的名称,很抱歉造成混淆。
标签: cmd command-line rename