king_stiven Анализ - чуть не свихнулся... =)
Поменял "Содержимоепапки" на "Directoryof" - вроде заработало, буду тестить. Както чудом получилось
Как сохранить в 866 так и не понял
По логике в данном месте, где "Содержимоепапки", что должно происходить? Какое сравнение ведётся?
Финально получилось так:
Цитата: @echo off
chcp 1251 > nul
set file=file.exe
for %%b in (c d) do (
cd /d %%b:\
for /f "usebackq tokens=1,2* delims= " %%c in (`dir "%file%" /t:c /a:-d /s`) do (
if "%%c%%d"=="Directoryof" (
cd /d "%%e"
) else (
for /f "tokens=1,2,3,4,5,6* delims=.,:, " %%f in ("%%c %%d %%e") do if "%%l"=="%file%" (
call :qwe %%h%%g%%f 1%%i%%j
)
)
)
)
set end=yes
call :qwe
echo %way_fo_install%
rem pause
goto :eof
:qwe
if "%1" GTR "%t1%" (
set "way_fo_install=%cd%\%file%"
set t1=%1
set t2=%2
) else if "%1"=="%t1%" (
if "%2" GTR "%t2%" (
set "way_fo_install=%cd%\%file%"
set t1=%1
set t2=%2
)
)
if defined end echo Y | reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v way_for_install /t reg_sz /d "%way_fo_install:~0,-12%
По какой-то неведомой мне причине, если ставить в самом конце
" /f то он заносит их в значение пременной, а вот так вот - обрубдено пашет (правда не встречал ещё папок с пробелами - может там запоёт)
При повторном запуске вопрошает - заменить или нет - применил фокус с
echo Y |. Потестю пока...