Regards to everyone. I have the following folder structure: Folder "TEST" and inside that folder three subfolders "import", "export" and "acitve"
In folder "import" are images I've downloaded from the Internet and sort in separated folder. Example - folder "Dogs" have 8 picture....."Cats" have 4 picture and so on. Every folder have diferent number of pictures. Numbers of folder in "import" is always changing.
So far I have managed the following:
1. I resize all folders in "import" to 01,02,03.....X ...to know the order in which I work.
2. Copy EMPTY folder structure without files from "import" to folder "export". I use command: xcopy /T /E /Q /Y "C:\TEST\import" "C:\TEST\export" ...and it works
3. If folder "01" exist in folder "import", copy all files inside folder "01" to folder "active". I use command:
IF EXIST "C:\TEST\import\01" xcopy /Q /Y "C:\TEST\import\01*.*" "C:\TEST\active\" ...and it works4. Delete folder "01" inside "import". I use command:
RMDIR /S /Q "C:\TEST\import\01" ...and it worksAfter step "4" I use image editor to auto resize picture.
5. Copy resize pictures from folder "active" to folder "01" in "exported". I use command:
xcopy /Q /Y "C:\TEST\active" "C:\TEST\exported\01" ...and it works6. Delete all pictures inside folder "active". I use command:
DEL /Q "C:\TEST\active" ...and it works-How to create loop or whatever, that will allow me when I repeat all stpes again....to check folder 02,03,04...folder "X" and so on until it reaches the end automaticli? This applies to step 3?
-When I finish three or four folders I manualy rename all folders in "export"....."01" to "Dog"...."02" to "Cats".....X to X and so on. Is there an easier way?
flatron, This is possible. When you say you resize folders in import, did you mean you renamed them?
What we can do here is use a dir statement to create a list of the folders in import. Then we can loop through that list and execute each of your commands on each of the folders.
@echo off
setlocal
REM most of this batch is the commands you listed in your original post
xcopy /T /E /Q /Y "C:\TEST\import" "C:\TEST\export"
REM this is the dir statement that lists the contents of import
dir /b c:\test\import > import_contents.tmp
REM This is the for loop that is replacing your if exist
for /f %%a in (import_contents.tmp) do (
xcopy /Q /Y "c:\test\import\%%a\*.*" "c:\test\active\"
RMDIR /S /Q "C:\TEST\import\%%a"
xcopy /Q /Y "C:\TEST\active" "C:\TEST\exported\%%a"
DEL /Q "C:\TEST\active"
)
endlocal
| « [Solved] SETLOCAL EnableDelayedExp... | [Solved] VBScript to search file &... » |