하위 폴더를 정렬하는 Windows 배치 파일

하위 폴더를 정렬하는 Windows 배치 파일

100개가 넘는 하위 폴더가 있는 C:\Users\User1\Desktop\Photos2019 폴더가 있습니다. 각 하위 폴더에는 사진이 있으며 모두 이름이 다양합니다. 단, 각각의 사진 3장은 동일합니다. 디렉터리의 각 폴더에 'Base'라는 하위 폴더와 'Other'라는 하위 폴더 2개를 만들고, 3개의 동일한 파일을 모두 'Base' 폴더로 옮기고 싶습니다. 그 밖의 모든 항목은 아래와 같이 '기타' 폴더로 이동되었습니다.

C:\Users\User1\Desktop\Photos2019
-Folder1/Base/Landscape.png
-Folder1/Base/Portrait.png
-Folder1/Base/Wide.png
-Folder1/Other/*.png

-Folder2/Base/Landscape.png
-Folder2/Base/Portrait.png
-Folder2/Base/Wide.png
-Folder2/Other/*.png

편집: 지금까지 각 폴더에서 실행할 수 있는 배치 스크립트를 만들 수 있었고 이 스크립트가 작업을 수행했습니다. 반복을 위해 /r을 추가하려고 하면 계속 실행되지만 작업이 전혀 수행되지 않습니다.

나는 가지고있다;

for %%a in (.) do md "Base"
for %%a in (.) do md "Other"
for %%a in (.) do move "Portrait.png" "Base"
for %%a in (.) do move "Landscape.png" "Base"
for %%a in (.) do move "Wide.png" "Base"
for %%a in (.) do move "*.png" "Other"

이것이 제가 원하는 것입니다. 각 하위 폴더에서 실행하려고 합니다.

이를 수행하는 가장 좋은 방법은 무엇입니까? 감사해요.

답변1

글쎄요, 명령의 도움을 for완전히 이해하려면 여러 번의 반복 읽기가 필요하다는 것을 증명합니다.

테스트 RamDrive A:\의 초기 트리를 사용하여

> tree /f a:\
A:\
└───Test
    ├───Folder1
    │       Landscape.png
    │       other.png
    │       Portrait.png
    │       Wide.png
    └───Folder2
            Landscape.png
            other.png
            Portrait.png
            Wide.png

이 배치:

:: Q:\Test\2019\08\22\SU_1473860.cmd
@Echo off
set "StartDir=C:\Users\User1\Desktop\Photos2019"
Rem set "StartDir=A:\Test"

set "Base=Landscape.png Portrait.png Wide.png"

CD /D "%StartDir%"

for /d %%D in (*) Do (
    MD "%%~fD\Base"
    MD "%%~fD\Other"
    for %%B in (%Base%) Do Move "%%~fD\%%B" "%%~fD\Base\" >Nul 2>&1
    Move "%%~fD\*.png" "%%~fD\Other" >Nul 2>&1
)

다음 결과가 나옵니다.

> tree /F a:\
A:\
└───Test
    ├───Folder1
    │   ├───Base
    │   │       Landscape.png
    │   │       Portrait.png
    │   │       Wide.png
    │   │
    │   └───Other
    │           other.png
    └───Folder2
        ├───Base
        │       Landscape.png
        │       Portrait.png
        │       Wide.png
        └───Other
                other.png

관련 정보