Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


В блоке кода - тот что в круглых скобках после if defined - осуществляется подстановка переменной OEM_URL_File, значение которой изменяется в самом блоке. Подстановка %OEM_URL_File% всегда подставляет значение переменной ДО входа в команду или блок - т.е. все последующие изменения игнорируются. Выхода два:

1. Присваивать значение до входа в блок или отказаться от блоков вообще:
читать дальше »
Код: Выделить весь код
rem читаем файл и присваиваем переменные
for /F "tokens=1,2 delims==" %%I in (settings.ini) do (
  if not "%%~J"=="" (
   set %%I=%%~J
   set %%I>>prepare.log
  )
)

rem тут пропущено

if not defined OEM_URL_File GoTo :OEM_URL_File_Skip
echo Add corp shite shortcut to faworites
set OEM_URL_File=%USERPROFILE%\Избранное\%OEM_URL_File%

 echo "%OEM_URL_File%">>prepare.log
(echo [DEFAULT]
 echo BASEURL=%OEM_Shite%
 echo/
 echo [InternetShortcut]
 echo URL=%OEM_Shite%
 echo IDList=
 echo IconFile=file:///%systemroot%\system32\OOBE\IMAGES\%OEM_Icon%
 echo IconIndex=1
)>"%OEM_URL_File%"

:OEM_URL_File_Skip

2. Использовать отложенное раскрытие переменных !OEM_URL_File!:
читать дальше »
Код: Выделить весь код
rem читаем файл и присваиваем переменные
for /F "tokens=1,2 delims==" %%I in (settings.ini) do (
  if not "%%~J"=="" (
   set %%I=%%~J
   set %%I>> prepare.log
  )
)

rem тут пропущено

if defined OEM_URL_File (
  echo Add corp shite shortcut to faworites
  set OEM_URL_File=%USERPROFILE%\Избранное\%OEM_URL_File%

  SETLOCAL EnableDelayedExpansion
  >> prepare.log echo "!OEM_URL_File!"
  (echo [DEFAULT]
   echo BASEURL=%OEM_Shite%
   echo/
   echo [InternetShortcut]
   echo URL=%OEM_Shite%
   echo IDList=
   echo IconFile=file:///%systemroot%\system32\OOBE\IMAGES\%OEM_Icon%
   echo IconIndex=1
  )>"!OEM_URL_File!"
  ENDLOCAL
)

кроме того, в строке:
Код: Выделить весь код
set OEM_URL_File = %USERPROFILE%\Избранное\%OEM_URL_File%
присваивается значение переменной "OEM_URL_File ", а не "OEM_URL_File" (пробелов быть не должно)

P.S. отсутствие раскрытия %USERPROFILE% не могу подтвердить, в этих примерах всё раскрывается
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:37, 30-05-2011 | #2