根据特定条件复制和重命名-批量

时间:2019-11-27 15:06:52

标签: file batch-file copy rename

我想递归地目录中的所有文件。

我有类似AAAJ_J1DO.docx的文件模式,但是我想通过创建文件夹名称AAAJ.docx将其更改为AAAJ

条件是在下划线之前找到名称,并在重命名文件中的该命名副本中创建文件夹。

对于以下文件模式示例:

  

D:\yogib\AAAJ_J1DO.docx -> D:\yogib\AAAJ\AAAJ.docx
D:\yogib\JACCC_loca.docx -> D:\yogib\JACCC\JACCC.docx
{ {1}} -> D:\yogib\KUJO1_ju2.docx

我尝试过

D:\yogib\KUJO1\KUJO1.docx

1 个答案:

答案 0 :(得分:0)

  1. 编辑:反映问题的变化。
  2. 编辑:删除了不必要的代码。
@echo off
setlocal enabledelayedexpansion
FOR %%A IN (*.docx) DO (
    SET name=%%A
    for /f "tokens=1 delims=_" %%B in ("!name!") do set prefix=%%B
    IF NOT EXIST "!prefix!" MKDIR "!prefix!"
    MOVE "!name!" "!prefix!\!prefix!.docx"
)
相关问题