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

Batch file 如何根据文件名的最后一位数字将1000多个文件复制到10个不同的文件夹?,batch-file,Batch File,我是这个小组的新手,也是脚本编写的新手。因此,我希望让所有成员都能轻松应对 我需要创建一个简单的脚本/批处理文件,以便: 创建文件夹0、1、2、3、4、5、6、7、8、9 将文件从源文件夹复制到刚创建的新文件夹。 我有一个文件夹,其中有1000个PDF文件,每个文件名是一个电话号码 我想创建一个批处理/脚本文件,将以1结尾的所有数字复制到文件夹1,将以2结尾的所有文件复制到文件夹2,依此类推。未测试 @echo off set phones_dir=c:\phones set destinat

我是这个小组的新手,也是脚本编写的新手。因此,我希望让所有成员都能轻松应对

我需要创建一个简单的脚本/批处理文件,以便:

创建文件夹0、1、2、3、4、5、6、7、8、9 将文件从源文件夹复制到刚创建的新文件夹。 我有一个文件夹,其中有1000个PDF文件,每个文件名是一个电话号码

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

未测试

@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"
    )
)
对于数字0到9,将文件名以每个数字结尾的pdf文件复制到指定的文件夹中

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