cmd - 如何使用 CMD 重命名批量文件
问题描述
我有一堆我想重命名的 sql 文件,因为它们在文件开头具有架构名称,如下所示:
SCHEMA.TABLE.sql
我想重命名为:
TABLE.sql
不幸的是,当我尝试在我的工作笔记本电脑上执行此操作时,我无法下载任何第三方软件,例如批量重命名实用程序,因此我尝试使用 CMD 执行此操作。
我尝试的是以下内容:
REN SCHEMA.*.sql *.sql
看起来它找到了匹配项,但没有任何变化。所以不知道我需要改变什么,所以我会感谢任何关于我哪里出错的建议。
解决方案
该ren
命令解释*
目标模式中的*.sql
,以便它匹配所有源字符直到最后一个.
,这意味着它匹配SCHEMA.TABLE
您的样本部分。因此,目标名称等于源名称。
请参阅关于超级用户的这篇精彩文章:Windows RENAME 命令如何解释通配符?
要从文件名中删除该SCHEMA.
部分,您需要使用for /F
循环:
for /F "eol=| tokens=1* delims=." %I in ('dir /B /A:-D-H-S "*.*.sql"') do ren "%I.%J" "%J"
如果有多个 ,这将失败.
,例如 in SCHEMA..TABLE.sql
。
当您想在批处理文件中使用该代码时,不要忘记加倍-%
符号!
推荐阅读
- javascript - 如何在javascript中比较两个数组
- javascript - 在垂直中间位置显示手风琴图标
- windows - 从窗口批处理文件执行 SQL 脚本时,接受命令不会暂停
- c++ - 我正在自学 C++,但在我的代码中遇到了计时器。试图在前一条消息后 3 秒内计算一条消息
- javascript - 测试中对 TestHook 的更新未包含在 act(...) 中
- c# - 查询中接受的正文参数
- codeigniter - Codeigniter 3/ form_multiselect / 无法理解如何进行验证
- html - 我无法在三个居中的 div 旁边找到一个 div
- java - 我们可以在不初始化对象的情况下访问类的静态成员吗?
- python-3.x - 使用 Google Cloud Scheduler 的延迟或随机任务