将1000个文件移动到文件夹,每100到1个文件夹批处理

问题描述 投票:0回答:1

这个想法是将文件移动到类似文件夹:

文件名:

1.pdf,2.pdf,3.pdf.....1000.pdf

结果必须是:

(1.pdf-100.pdf) To Folder 1
(101.pdf-200.pdf) To Folder 2
(201.pdf-300.pdf) To Folder 3
..

此代码有效,但以(0)开头,而不是(1)

    @echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for %%a in (*.pdf) do (
    echo %%~na|FINDSTR /R /C:"^[0-9]*$" >nul 2>nul&&(
        set /a NumBas=%%~na/1000*1000
        set /a NumHaut=^(%%~na/1000*1000^)+999
        echo %%~a -^> !NumBas!-!NumHaut!
        IF NOT EXIST "!NumBas!-!NumHaut!" MD "!NumBas!-!NumHaut!"
        MOVE /Y "%%~a" "!NumBas!-!NumHaut!\%%~a" >nul
    )
)
windows batch-file batch-processing
1个回答
0
投票
@echo off
setlocal enabledelayedexpansion

for %%A in (*.pdf) do (
    set "folder=%%~nA"

    if !folder! lss 100 (
        set "folder=Folder 1"
    ) else (
        set /a "folder+=99"
        set "folder=Folder !folder:~0,-2!"
    )

    if not exist "!folder!\" md "!folder!"

    for /l %%B in (1001 -100 100) do (
        if defined folder if %%~nA lss %%B (
            move /y "%%~A" "!folder!" >nul
            set "folder="
        )
    )
)

此从1开始,直到1000。for /l从1001到100,以-100的步长递减,然后将pdf文件移动到编号的文件夹中。

© www.soinside.com 2019 - 2024. All rights reserved.