When i try to execute below batch file, folder(reading input from user:foldername) is created but else steps also getting executed and by showing below message. what is the wrong with code.
I need code help-to show the error message and repeat a step from "set /p foldername=Enter a folder name:", if user enter the folder names with spaces.(Enter a folder name: abc cdf - is not acceptable.)
Enter a folder name:abc
abc created succesfully
'else' is not recognized as an internal or external command,
operable program or batch file.
abc already exist, choose other name
Press any key to continue . . .
@Echo Off
SETLOCAL ENABLEDELAYEDEXPANSION
@color 0a
cls
set "dest=D:\auto\Practice_3\destination"
set /p foldername=Enter a folder name:
set folder_date=%DATE:/=%
SET dirname="%folder_date:~8,4%_%folder_date:~6,2%_%folder_date:~4,2%"
mkdir %dest%\%USERNAME%\%dirname%
if not exist "%dest%\%USERNAME%\%dirname%\%foldername%" (
mkdir %dest%\%USERNAME%\%dirname%\%foldername%
echo %foldername% created succesfully
)
else (
echo %foldername% already exist, choose other name
pause
exit
)
echo Listed files in file_list.txt are being copied ...
echo Please wait ...
for /f %%f in (file_list.txt) do (
for /f "tokens=*" %%F IN ('dir /S /B /A:-D "%%f"') Do (
copy "%%F" "%dest%\%USERNAME%\%dirname%\%foldername%"
)
)
echo Backup done for listed files in file_list.txt
echo Tst and env files are being copied ...
echo Please wait ...
Set py_scripts="Python_Scripts"
mkdir %dest%\%USERNAME%\%dirname%\%foldername%\%py_scripts%
for /R %%f in (*.py) do copy %%f "%dest%\%USERNAME%\%dirname%\%foldername%\%py_scripts%"
pause
ENDLOCAL
Aucun commentaire:
Enregistrer un commentaire