Показать полную графическую версию : [решено] в пакетных файлах является недопустимым: %~dpf". В КОММЕНТАХ! :-o
kiripanda
01-08-2011, 19:24
@echo off
rem Мне необходимо написать в комменте следующий код:
rem blah-blah-blah "%L" "%%~dpf"
echo OK. Батник работает.
pause
rem Какого Х интерпретатор суётся куда его не просят?
rem WinXP SP3 Rus
Foreigner
01-08-2011, 20:11
kiripanda,
Забавный баг. Как побороть пока не нашел, win-7 64 hp
Забавный баг »
а как это обойти?
пока получилось так %"%L"%, но это не очень хорошо
kiripanda, REM - это команда (REM /?), вот интерпретатор ее и обрабатывает.
Обойти можно так:
@echo off
GOTO Comment1End
REM Мне необходимо написать в комменте следующий код:
REM blah-blah-blah "%L" "%%~dpf"
:Comment1End
echo OK. Батник работает.
pause
Можете даже REM убрать...
SendMessage
02-08-2011, 02:06
пока получилось так %"%L"%, но это не очень хорошо »
Достаточно просто %%L
единственно, что требуется - быть аккуратным с "процентами",
поскольку они раскрываются ДО интерпретации строки (как комментария)
REM blah-blah-blah "%L" "%%~dpf"
исчерпывающий ответ от jeb: analysis: ":: is not the same as rem" (http://www.dostips.com/forum/viewtopic.php?f=3&t=1003)
P.S. это не баг - it is by design ;)
Foreigner
02-08-2011, 07:44
Нет. Не работает, это самый настоящий баг:
@echo off
rem в батниках используйте %%L вместо %L
rem так же используйте %%~dpi вместо %~dpi
echo Ok
pause 1>nul
> rem /?
Помещение комментариев в пакетные файлы и файл CONFIG.SYS.
REM [текст]
Комментарии на то и комментарии, что бы помещать в них любую информацию и не задумываться повлияет ли она сам батник.
Foreigner, такое поведение - существенная часть алгоритма, как он задуман разработчиками, причем его изменение потянет кучу проблем с наследуемым кодом - проще переписать CMD.EXE "с нуля", но это уже будет другой CMD/BAT... т.е. (по определению) это уже не баг
P.S. есть мнение, что Windows - баг ;)
Foreigner
02-08-2011, 08:49
amel27,
Я все собираюсь спросить. Почему вы пишете тусклым цветом? Глаза вылазят, серьезно.
проще переписать CMD.EXE "с нуля"
В общем да, но они пошли другим путем.
Почему вы пишете тусклым цветом? Глаза вылазят, серьезно. »ну типа оффтоп (тег OFF)
kiripanda
02-08-2011, 17:55
пока получилось так %"%L"%, но это не очень хорошо »
Достаточно просто %%L »
Не пойдёт ни то, ни другое. Это параметры, и они должны быть именно такими (http://forum.wincmd.ru/viewpost.php?p=81020)
единственно, что требуется - быть аккуратным с "процентами", »
Но как?! Для полукилобайтного батника писать отдельный файл с комментариями?
Не слишком ли много чести? Да и потеряется эта "инструкция" на раз-два
Vadikan
СПАСИБО
SendMessage
03-08-2011, 01:47
Как правильно сказал amel27, нужно быть аккуратными с процентами. И там, где в комментах они проставлены - дополнять до четного числа, например так:
:: Мне необходимо написать в комменте следующий код:
::% blah-blah-blah "%L" "%%~dpf"
Это параметры, и они должны быть именно такими »в данном конкретном случае проблема возникла еще и по причине того, что проценты в батнике и командной строке обрабатываются по разному - то, что допустимо для одного, запрещено для другого
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.