Вы можете просто использовать другой for
и заменить имя файла на всю переменную, которую вы используете для этого:
@echo off
for %%f in (*.txt) do (
setlocal EnableDelayedExpansion
del "%%f.new" 2>nul
for /F "usebackq delims=" %%I in ("%%f") do (
set "Line=%%I"
set "Line=!Line:"= !"
echo !Line!>>"%%f.new"
)
del "%%f"
ren "%%f.new" "%%f"
endlocal
)
Это сгенерирует limit.txt.new из limit.txt, а затем заменит исходный limit.txt новой версией. Если вы хотите сохранить соглашение об именах limit_new.txt, то я думаю, что вы хотите %%~nf_new.txt
в качестве имени выходного файла и отбросить ren
.
Обратите внимание, что если у вас есть sed
, например, из Git Bash вы можете редактировать файл на месте с помощью регулярного выражения:
sed -i -e "s/\"/ /g" limits.txt
и Git Bash имеет аналогичный for
, который вы можете использовать для обновления всех файлов, например
for _f in *.txt; do sed -i -e 's/"/ /g' $_f; done
но будьте осторожны: в зависимости от того, где вы получили свой sed, это также может переключить все окончания строки с CRLF на просто LF.