PDA

Показать полную графическую версию : двойное раскрытие


Страниц : 1 [2]

CyberMuesli
25-06-2012, 12:27
if defined %1.!%1.Count! (
set VNAME=%1.!%1.Count!
echo VNAME=!VNAME!
call set VNAME=%%!VNAME!%%
echo VNAME=!VNAME!
) »

А так не работает.

MyArray.1=Right value 1
MyArray.Index=1
--- Outside brackets is Ok:
VNAME=MyArray.1
VNAME=Right value 1
---
VNAME=Invalid value
--- Inside brackets does not working
VNAME=MyArray.1
VNAME=%MyArray.1%

Ключевые слова — «с этого» и «в первом же». »

не вижу проблемы в том. чтобы привести поясняющий пример в ответ на вопрос

PATRI0T
29-12-2020, 03:07
Всё. Решение найдено. Для двойного раскрытия надо делать так
for %%i in (!VNAME!) do set VNAME=!%%i! »

А у меня не работает ((
Вот батник, который берет адрес рабочего стола из реестра, кладет его в DesktopPath (там получается конструкция вида "%USERPROFILE%\Desktop")
И все что я хочу, это переместить один файл по адресу из этой переменной, но не работает двойное раскрытие..


:: Установка portable версии в нужную папку
@echo on >nul
cls
setlocal enabledelayedexpansion
chcp 866 >nul

:: INIT
set InstallPath=%USERPROFILE%\UserSoft
mkdir %InstallPath% >nul

:: путь к рабочему столу
FOR /F "skip=2 tokens=2,*" %%A IN ('reg.exe query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Desktop"') DO set "DesktopPath=%%B"
FOR %%i in (!DesktopPath!) do set DesktopPath=!%%i!

move OperaPortable\OperaMy.lnk %DesktopPath%
REM move /y OperaPortable %InstallPath%\


https://cdn1.radikalno.ru/uploads/2020/12/29/c1510246e2672c088d0e756a15d9920c-full.png

PATRI0T
29-12-2020, 03:30
А, все, нашел решение (https://rsdn.org/article/winshell/NTCommandProcessor.xml#EZMAE).
Надо просто сделать так
call set DesktopPath=%DesktopPath%
И усё.. Пошел я спать.. )

Iska
29-12-2020, 21:39
Надо просто сделать так »
PATRI0T, вот здесь call как раз не нужен.




© OSzone.net 2001-2012