Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Раскрытие переменных в реестре и переменные вообще (http://forum.oszone.net/showthread.php?t=328861)

nfs911 04-08-2017 12:21 2756259

Раскрытие переменных в реестре и переменные вообще
 
Доброго времени суток!
Я никак не могу найти интересующий меня материал, а именно по раскрывающимся переменным в реестре которые в контекстном меню вызываются.
Опытным путем было выяснено что там действуют:
%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 2756271

Цитата:

Цитата nfs911
Опытным путем было выяснено что там действуют:
%d %h %i %l %s %u %w %v ну и общеизвестные %1..2..N %* »

nfs911, эти переменные не имеют никакого отношения к справке по for в частности и к интерпретатору команд в целом.

Цитата:

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

Нельзя. Сначала нужно присвоить их значение обычной переменной окружения, а затем применять уже к ней операцию отсечения/замены.

Цитата:

Цитата nfs911
2. Как избавиться от кавычек (как %~1) в %var% не прибегая сдвигам и или замене. (ex %~var%) »

Никак. Либо замена, либо отсечение. Либо разбор по for /f или в процедуре по call.


Время: 22:49.

Время: 22:49.
© OSzone.net 2001-