是否可以批量操作文件名? [复制]

Posted

技术标签:

【中文标题】是否可以批量操作文件名? [复制]【英文标题】:Is it possible to manipulate filename in batch? [duplicate] 【发布时间】:2021-04-20 11:33:31 【问题描述】:

我有一个批处理脚本,可以从路径中找到文件名。 但是,我不需要整个文件名,只需要前六个字符。 我认为以下脚本可以工作,但它似乎不适用于文件名。

set PL=%%~nG
set PL=%PL:~0,6%

它返回“~0,6”。

【问题讨论】:

这是发生在 for 循环内部还是 if ? 在 for 循环中。 那么你需要延迟扩展 【参考方案1】:

当您确认此 SET 在 for 循环内时,您将需要 delayed expansion

setlocal enableDelayedExpansion

for %%G in (something) do (
  set PL=%%~nG
  set PL=!PL:~0,6!
  echo !PL!
)

【讨论】:

以上是关于是否可以批量操作文件名? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

VBA批量合并表格

如何在 Linux 中批量移动复制追加和重命名文件

玩点不一样的,如何使用MATLAB实现批量修改文件后缀名,文件名,批量复制文件

从子文件夹中的文件列表批量复制文件

Windows批处理脚本实现批量复制文件并重命名

文件夹批量改名?