Не работает переменная в кавычках, внутри цикла bat файла?
Никак не могу найти решение.
Есть имя файла, например 21-Wi.txt. Необходимо в именах файлов выполнить деление строки по символу "-". Если использовать такой код, то все работает, выводит 21.
set "x=21-Wi"
set "x1=%x:-=" & set "x2=%"
echo !x1!
Но если поместить это в цикл для обхода файлов в каталоге, то выводит "-=".
@echo off
setlocal enabledelayedexpansion
FOR %%I IN ("*.txt") DO (
SET fne=%%~nxI
SET fn=%%~nI
set "x1=%fn:-=" & set "x2=%"
echo !x1!
)
Pause
Буду крайне признателен за помощь.
Ответы (1 шт):
Автор решения: по разному
→ Ссылка
Этот батник должен вывести только числа:
@echo off
FOR %%a IN ("*.txt") DO for /f "usebackq tokens=1 delims=-" %%b in ('%%~na') do echo.%%b
Pause