【发布时间】:2021-05-08 08:53:27
【问题描述】:
当我尝试执行以下批处理文件时,会创建文件夹 (从用户:文件夹名称读取输入),但 else 步骤也正在执行,显示错误消息。
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
【问题讨论】:
-
在
IF命令的帮助文件中,清楚地描述了使用ELSE的正确语法用法。我不确定您在哪里找到了一个工作代码示例,其中括号与ELSE不同。