astep
astep

Reputation: 23

Check for new folder after running bat commands

Is there a way to check if a new folder (exact name is unknown) has been created inside a specific parent folder as a result of running previous commands in bat file? If yes - run one more command with the full path to a new folder as an argument to that command.

Right now I am using a folder monitoring software to run another bat if new folder is created. I would like to have just one script performing both tasks.

Thank you for your help.

Upvotes: 2

Views: 293

Answers (1)

npocmaka
npocmaka

Reputation: 57332

change the root_folder location on the second line @echo off set "root_folder=C:\something"

 setlocal enableDelayedExpansion
 set counter=1
 for /d /r  "%root_folder%" %%a in (*) do (
    set "dirs[!counter!]=%%~sa" >nul
    set /a counter=counter+1
 )

 rem ############################
 rem #  call your code here !!! #
 rem ############################
 call commands.bat

 rem for /l %%l in (1,1,!counter!) do (
 rem    dir /x /b /s /a:d "%root_folder%" | findstr /i "dirs[%%l]" 
 rem )

 set flag=0
 for /d /r  "%root_folder%" %%a in (*) do (
   set dirs[|find  /i "%%~sa" >nul 2>nul ||(
      echo "%%~sa" is a new folder
      set flag=1
   )
 )

 if %flag% equ 0 (
    echo no new folders
 )

Upvotes: 1

Related Questions