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 - в курсе? | Всего записей: 2929 | Зарегистр. 25-04-2007 | Отправлено: 11:43 19-07-2007 | Исправлено: wolf0425, 12:20 19-07-2007 |
|