批处理文件以减少文件名长度

发布于 2024-09-19 16:01:49 字数 138 浏览 7 评论 0原文

我下载这样的文件名..b​​atchengine-6099-1283555555-60054_20100910_0006.era 并想将它们重命名为 60054_20100910_0006.era。名称更改但格式相同,需要语句重命名所有以 .era 结尾的大文件

i download file names like this.. batchengine-6099-1283555555-60054_20100910_0006.era and want to rename them to 60054_20100910_0006.era. The names change but format same, need for statement to rename of all big files ending in .era

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

比忠 2024-09-26 16:01:50

我无法访问 Windows 盒子,但类似:

SETLOCAL EnableExtensions EnableDelayedExpansion
FOR %%I IN (batchengine-*.era) DO (
    SET NAME=%%~nI
    RENAME "%%I" "!NAME:~28!%%~xI"
)
ENDLOCAL

输入 FOR /?SET /? 和 < a href="http://www.robvanderwoude.com/local.php" rel="nofollow noreferrer">SETLOCAL /? 在控制台中了解有关语法的所有详细信息。希望我有一些非常接近的东西。您需要在循环中引入新变量,以便可以访问下标的扩展语法 - 例如,!NAME:~28! 选择从字符 28 开始的子字符串。 !NAME! 是延迟扩展引用。命令概要页面之一对此进行了解释。

I don't have access to a Windows box, but something like:

SETLOCAL EnableExtensions EnableDelayedExpansion
FOR %%I IN (batchengine-*.era) DO (
    SET NAME=%%~nI
    RENAME "%%I" "!NAME:~28!%%~xI"
)
ENDLOCAL

Type FOR /?, SET /?, and SETLOCAL /? in the console for all of the details on the syntax. Hopefully I have something pretty close. You need to introduce new variables within the loop so that you can access the extended syntax to subscript - e.g., !NAME:~28! selects the substring starting at character 28. The !NAME! is a delayed expansion reference. The need for this is explained in one of the command synopsis pages.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文