如何根据文件名中的最后一位数将1000多个文件复制到10个不同的文件夹?

时间:2014-08-31 16:24:43

标签: batch-file

我是这个小组的新手,也是脚本的新手。所以我希望让所有成员都能轻松。

我需要创建一个简单的脚本/批处理文件来实现:

  • 创建文件夹0,1,2,3,4,5,6,7,8,9
  • 将文件从源文件夹复制到刚创建的新文件夹。

我有一个文件夹,其中包含1000个PDF文件,每个文件名都是一个电话号码。

我喜欢创建一个批处理/脚本文件,该文件复制所有以1到文件夹1结尾的数字,所有文件以2到2结尾,依此类推。

2 个答案:

答案 0 :(得分:1)

for /l %%a in (0 1 9) do xcopy "c:\source\*%%a.pdf" "c:\target\%%a" /i /y

对于数字0到9,将文件名以每个数字结尾的pdf文件复制到指定的文件夹。

答案 1 :(得分:0)

未经测试。

@echo off

set phones_dir=c:\phones
set destination_parent_dir=c:\parent

if not exist "%destination_parent_dir%" md "%destination_parent_dir%"


pushd "%phones_dir%"

setlocal enableDelayedExpansion

for %%n in (1;2;3;4;5;6;7;8;9;0) do (
    md "%destination_parent_dir%\%%a" 2>nul
    for /f "delims=" %%f in ('dir /b /s /a:-d *%%a.pdf') do (
        copy /y  "%%~ff" "%destination_parent_dir%\%%a"
    )
)