Невозможно использовать переменную расширения в переменной расширения подстроки - PullRequest
0 голосов
/ 26 сентября 2019

Мне нужна помощь с моим Batch-скриптом, пожалуйста.Я успешно устанавливаю случайное число, но потом не могу использовать его, чтобы получить букву, оно просто использует randnumber текст, а я не могу использовать это значение.

setlocal EnableDelayedExpansion
set "string=abcdefghijklmnopqrstuvwxyz"


set /a randnumber=!random! %% 26
set letter=!string:~!randnumber!,1!

См. Изображение для определения проблемы: Синтаксическая проблема кода

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Вот мой комментарий, написанный как ответ для вас.

@Echo Off
Set "String=abcdefghijklmnopqrstuvwxyz"
Set /A Skip=%RANDOM% %% 26
SetLocal EnableDelayedExpansion
Set "Letter=!String:~%Skip%,1!"
Echo %Letter% is the character after skipping the first %Skip%.
Pause

И, call добавочный слой расширения:

@Echo Off
Set "String=abcdefghijklmnopqrstuvwxyz"
Set /A Skip=%RANDOM% %% 26
Call Set "Letter=%%String:~%Skip%,1%%"
Echo %Letter% is the character after skipping the first %Skip%.
Pause
0 голосов
/ 26 сентября 2019
set letter=!string:~%randnumber%,1!
for %%t in (!randnumber!) do set letterT=!string:~%%t,1!
echo.!letter!   !letterT!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...