Search code examples
batch-filemkdir

batch mkdir return codes


My batch script checks to see if a folder already exists and if it doesn't to make a directory. I am running into other problems besides if the folder already is there, but I cannot place my finger on what it is. Is there a way to return an error code to determine my problem?

Code:

if not exist "%arcval_folder%" (
    mkdir "%arcval_folder%"
    echo Directory: "%arcval_folder%" created. 1>>"%logfile%" 2>&1
    ECHO. 1>>"%logfile%" 2>&1
)

I keep getting that the folder was created, even when it had not on inspection of the target location.


Solution

  • You can try checking the return of your mkdir command by using the %ERRORLEVEL% pseudo-variable:

    C:\Users\DWilches>

    C:\Users\DWilches>mkdir test
    
    C:\Users\DWilches>echo %ERRORLEVEL%
    0
    
    C:\Users\DWilches>mkdir test
    A subdirectory or file test already exists.
    
    C:\Users\DWilches>echo %ERRORLEVEL%
    1