wolf0425
 
  
  Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору king_stiven внутри for  последовательные действия с переопределением %переменных% делать нельзя, можно только с !переменными! (а у тех - свои ограничения).   так что для таких множественных замен проще всё действие из for выносить с помощью call.      а set "%%~dpc=%%%~dpc:\=:092%" - вообще ересь, %%~c переопределять невозможно, будет переопределяться переменная с именем равным значению (~функции!) %%~dpc      т.е., если я правильно понял что ты хотел сделать - выглядеть должно так    Код:  setlocal enabledelayedexpansion           for /f "usebackq tokens=*" %%d in (`dir "%%c\*.mp3" /o /b /s /a:-d`) do (   set "tempvar=%%~dpc"   echo %%d>1.txt   gsar.exe -f -s"!tempvar:\=:092!" -r"%новый текст:\=:092%" -o 1.txt 3.txt   )  |       %новый текст% я посчитал где-то ранее определнной переменной.       Цитата:|  С replacer, вроде бы всё получается корректно на всех знаках.  |      Ну если работает - смысла переделывать наверно нет, одна утилита ничем не лучше другой.   насчет всех знаков - подставить реплейсеру <> наверно будут проблемы, не говоря про непечатные спецсимволы, так что бывают случаи когда им не обойдешься.      Добавлено:   mitrichbel Цитата:|  я вообще незнаком, по сути  |    ну хоть что-то ты понимаешь (раз вообще взялся писать батник, а не програму на делфи),    и про ключик /? у всех встроеных команд cmd - в курсе?       |   Всего записей: 2930 | Зарегистр. 25-04-2007 | Отправлено:  11:43 19-07-2007  | Исправлено: wolf0425,   12:20 19-07-2007    |  
  |