Сэм ответ, безусловно, самый простой для того, что вы хотите. Но я хотел добавить:
Не set
переменная внутри ()
в for
и не ожидайте ее использования сразу, если только вы ранее не выдали
setlocal ENABLEDELAYEDEXPANSION
и вы используете !
вместо% для переноса имени переменной. Например,
@echo off
setlocal ENABLEDELAYEDEXPANSION
FOR %%f IN (*.*) DO (
set t=%%f
echo !t:~-3!
)
Выезд
set /?
для получения дополнительной информации.
Другой альтернативой является вызов подпрограммы для выполнения set
, как показано Pax .