Управлять переменными команды FOR? - PullRequest
0 голосов
/ 24 ноября 2018

Работает.

:: %%a is output of FOR loop in batch:  
set _string=%%a  
:: First two chars:  
set "_two=!_string:~0,2!"  

Я хотел бы получить два символа, работая напрямую с %% a,
, т.е. без создания промежуточной переменной _string.
Возможно?

1 Ответ

0 голосов
/ 24 ноября 2018

Это возможно без создания промежуточной переменной, но без добавления фактической задачи к вашему запросу, решение может быть не таким, как EZ, как в приведенных ниже примерах, , в котором используется PowerShell:

Пример пакетного файла:

@For %%A In ("ezrine") Do @PowerShell "('%%A').SubString(0,2)"
@Pause

… и в командной строке:

For %A In ("ezrine") Do @PowerShell "('%A').SubString(0,2)"

Вы можете даже делать другие вещи, , например, принудительно выводить верхний регистр :

@For %%A In ("ezrine") Do @PowerShell "('%%A').SubString(0,2).ToUpper()"
@Pause
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...