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 |. Потестю пока...