我在文件夹中有很多(50 000+)个文件。它们命名为:“abc_012345678_abcabc.ext”
我需要为每个文件创建一个目录(全部在一个不同的目录中),命名为“数字部分”(012345678),然后将此文件复制到此目录。
所以最后,我有50000多个目录,名为“265415873”,“654879623”等等,每个目录里面都是匹配名称的文件名(所以dir 265478951是一个名为abc_265478951_abcabc.ext的文件)。 / p>
非常感谢任何建议!
编辑: 我已经创建了一个简单的脚本,它可以满足我的需要,所以如果有人感兴趣,那么它就是:
@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
在这种情况下,我只删除扩展名并使用文件的全名作为目录名称,但我知道,如何更改它,只读取我需要的文件部分。
Thanx很多,如果有人对我的版本(优点/缺点)有任何评论,请,请赐教:)
再见!
答案 0 :(得分: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"