Так что я спрашиваю об этом не потому, что это важная информация или что-то в этом роде, просто мне нравится программировать с помощью пакетных скриптов, когда мне скучно и я хочу создать «персонального помощника», который открывал бы приложения для меня, так что это немного облегчило бы мне жизнь, вместо того чтобы искать их на моем захламленном компьютере.
Я хотел включить возможность выбора /c MF /m /n Male или Female, чтобы я мог отправить его своим друзьям, чтобы они тоже им пользовались, но у меня не получилось заставить это работать правильно, так как %gender% получал значение 0 вместо M или F.
Я пробовал использовать set /p, но мне бы хотелось узнать, есть ли способ использовать set, чтобы использовать слова вместо цифр, спасибо!
(Вот что я написал, на случай, если вам это понадобится. Я знаю, что это может показаться простым или легким для того, кто изучал это, но я делаю это просто как хобби и начинающий «программист»)
echo Username
set /p username=
echo.
echo.
echo.
echo Gender
choice /c 12 /m /n 1: Male, 2: Female
if %errorlevel%==1 (set /a gender=1)
if %errorlevel%==2 /set /a gender=2)
echo.
echo.
echo.
echo Thanks, we will start to create a profile for you...
timeout /t 2 /nobreak >nul
cls
echo Creating profile...
cls
echo Please, insert the name the filesaves will have.
set /p savefile=
timeout /t 1 /nobreak >nul
cls
echo ----------------------------
echo Starting up...
(
echo %username%
)>%savefile%user.sgf
echo %username%
echo ----------------------------
timeout /t 2 /nobreak >nul
echo 50%
timeout /t 1 /nobreak >nul
(
echo %gender%
)>%savefile%gender.sgf
echo %gender%
echo ----------------------------
решение1
Ладно.. Ладно.. Я понял. Ты учишься (что РЕАЛЬНО КРУТО)
- Исправлено несколько синтаксических ошибок. Пожалуйста, посмотрите, что я сделал иначе, чем вы.
- Метод, который работает для перехода от «1/2» к «мужчина/женщина»
set /a
.ТОЛЬКО ДЛЯ МАТЕМАТИКИ. - Вам не нужны все эти скобки.
- Каждый раз, когда вы оцениваете переменную в пакете, заключайте обе стороны в кавычки.
if "bob"=="%myname%" echo Meh namez bob.
Если по какой-то причине ваша переменная пуста, ваш пакетный файл покажет вам средний палец и завершит работу.
Несколько способов сделать это ЕЩЕ ЛУЧШЕ!
- Использовать%ПрофильПользователя%\SomeDangDirдля ваших "сохраненных файлов". Сейчас они падают туда, где находится текущий каталог.
- Выясните, как поместить пол, имя пользователя и все остальное в ОДИН И ТОТ ЖЕ ФАЙЛ и вытащить его обратно. Это будет вызов, так как есть 100 различных способов сделать это.
`
@echo off
SetLocal
echo Input Username:
set /p username=
echo.
echo Input Gender
choice /c 12 /m "1: Male, 2: Female"
if "%errorlevel%"=="1" (set gender=male) else (set gender=female)
echo.
echo.
echo username=%username%
echo gender=%gender%
echo Thanks, we will start to create a profile for you...
timeout /t 2 /nobreak >nul
cls
echo Creating profile...
timeout /t 1 /nobreak >nul
cls
echo Please, insert the name the filesaves will have:
set /p savefile=
cls
echo ----------------------------
echo Starting up...
echo %username%>%savefile%user.sgf
echo %username%
echo ----------------------------
timeout /t 2 /nobreak >nul
echo 50%
timeout /t 1 /nobreak >nul
echo %gender%>%savefile%gender.sgf
echo %gender%
echo ----------------------------
EndLocal
Удачи! :)