Есть код:
@echo off
chcp 65001
echo Сейчас вы находитесь в %~dp0
:restart_1
set /p "path_with_directory=Введите путь к каталогу с которого нужно скопировать файлы: "
set /p "path_in_directory=Введите путь к каталогу куда нужно скопировать файлы: "
:restart_2
set /p "attributes=Введите атрибуты файлов которые нужно копировать: "
if "%attributes%" EQU help (
echo /r --- "только для чтения"
echo /h --- "системные и скрытые файлы"
echo /a --- "архивы"
echo null --- "Не указывать атрибуты"
goto restart_2
)
if "%attributes%" EQU null (
echo l null
xcopy %path_with_directory% %path_in_directory% /s
) else (
xcopy %path_with_directory% %path_in_directory% /s %attributes%
)
echo Код окончания: %Errorlevel%
goto restart_1
pause
Был до этого у меня почти такой же код, все работало, теперь когда я ввожу в переменную attributes значение null и проверяю равняется ли эта переменная null, она выдает что не равняется, убираю кавычки (то есть экранизацию) все опять начинаете работать, почему так происходит?
Ещё один вопрос, я в путь откуда буду копировать ввожу C:\Users\%username%\Desktop\L3\, в путь куда - C:\Users\%username%\Desktop\Copiedfiles\, в итоге мне выдает ошибку неверный синтаксис, также в пути бывают пробелы в названии папок я пробовал их экранизировать, но также выдаёт ошибку