2

我在一个文件夹中有很多(50 000+)个文件。它们被命名为:“abc_012345678_abcabc.ext”

我需要为每个文件创建一个目录(都在一个不同的目录中),命名为“数字部分”(012345678),然后将此文件复制到该目录。

所以最后,我有 50000 多个目录,称为“265415873”、“654879623”等,每个目录内部都是具有匹配名称的文件名(所以在目录 265478951 中是名为 abc_265478951_abcabc.ext 的文件)。

非常感谢您的任何建议!

编辑:我已经创建了一个简单的脚本,可以满足我的需要,所以如果有人感兴趣,这里是:

@ECHO OFF
setlocal enabledelayedexpansion
FOR %%f in (*.ext) DO (
  set filename=%%f
  set folder=!filename:~0,-4!
  set copypath=e:\work\programy\adresare_handa\adresare\!folder!
  mkdir !folder!
  copy !filename! !copypath!
)
pause

在这种情况下,我只删除扩展名并使用文件的全名作为目录名,但我知道如何更改它,只读取我需要的文件部分。

再次感谢,如果有人对我的版本(优点/缺点)有任何意见,请赐教:)

再见!

4

1 回答 1

0
   @echo off
   pushd "C:\some_dir" 
   for /f "tokens=1,2,3 delims=_" %%A in ('dir /b /s /a-d') do (
      md "%%~B"
      copy %%A_%%B_%%C %%B
    )

仅在所有文件都具有名称模式的情况下"abc_012345678_abcabc.ext"

于 2013-11-11T17:52:08.657 回答