У меня есть папка C:\Users\User1\Desktop\Photos2019 с более чем 100 подпапками. В каждой из этих подпапок находятся фотографии, все с разными названиями, за исключением 3 фотографий в каждой из них, которые одинаковы. Я хотел бы иметь возможность создать 2 подпапки в каждой из папок в каталоге, одну с названием «Base» и одну с названием «Other», и переместить 3 одинаковых файла в папку «Base», а все остальное переместить в папку «Other», как показано ниже.
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
EDIT: Пока что мне удалось создать пакетный скрипт, который я могу запустить в каждой папке, и он будет выполнять работу. Но когда я пытаюсь добавить /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