Войти

Показать полную графическую версию : Раскрытие переменных в реестре и переменные вообще


nfs911
04-08-2017, 12:21
Доброго времени суток!
Я никак не могу найти интересующий меня материал, а именно по раскрывающимся переменным в реестре которые в контекстном меню вызываются.
Опытным путем было выяснено что там действуют:
%d %h %i %l %s %u %w %v ну и общеизвестные %1..2..N %*
Нет это не те которые можно глянуть в справке for. Где найти информацию по ним? Я искал искал и не нашел))
Профильную тему по реестрам не нашел, ткните если она есть :)

И по сколько тема переменных то у меня вопрос и по переменным в батниках. А именно, как можно манипулировать ими?
Я знаю только те способы которые перечислены в правке for (%1 %~1 %~dp1 %~n1 etc.) и для переменных типа %var% %var:~1,2% %var:a=b% (тоесть только замена и отсечение\сдвиг)
1. Можно ли делать данное для переменных в for (ex.: %%a и %1), а именно замену и сдвиги\отсечение. (ex %%а:~1,-1 или %%a:F=G)
2. Как избавиться от кавычек (как %~1) в %var% не прибегая сдвигам и или замене. (ex %~var%)

for /f %%a in ('powershell.exe "97..122 | foreach {$a=[char]$_ ; echo $a }"') do (
reg add "HKEY_CLASSES_ROOT\.test\shell\testApp\command" /ve /d "cmd /c \"@echo %%%%a\"" /f
echo [%%a] >> heeelp.txt
demo.test %windir%\exploerer.exe >> heeelp.txt
)

Iska
04-08-2017, 13:14
Опытным путем было выяснено что там действуют:
%d %h %i %l %s %u %w %v ну и общеизвестные %1..2..N %* »
nfs911, эти переменные не имеют никакого отношения к справке по for в частности и к интерпретатору команд в целом.

1. Можно ли делать данное для переменных в for (ex.: %%a и %1), а именно замену и сдвиги\отсечение. (ex %%а:~1,-1 или %%a:F=G) »
Нельзя. Сначала нужно присвоить их значение обычной переменной окружения, а затем применять уже к ней операцию отсечения/замены.

2. Как избавиться от кавычек (как %~1) в %var% не прибегая сдвигам и или замене. (ex %~var%) »
Никак. Либо замена, либо отсечение. Либо разбор по for /f или в процедуре по call.




© OSzone.net 2001-2012