Как победить батник?

Коллеги, доброго времени суток!


Столкнулся с такой проблемой. Есть 1С из которого сделан thinapp. Есть несколько групп пользователей, каждая из которых должна видеть свой список баз без добавления этих баз руками. Недавно на Хабре была статья на похожую тему (здесь).


Админ 1С хочет иметь несколько файлов с расширением V8I, где будут прописаны базы, видимые тем или иным пользователям. Соответственно, для этого внутрь песочницы нужно положить файл 1CEStart.cfg, в котором будет ссылка на тот или иной V8I-файл.


Если делать все ручками, все замечательно, все работает. Но при попытке написать батник сталкиваюсь со следующей проблемой: класть файл нужно в папку %userprofile%\AppData\Roaming\Thinstall\1C\%AppData%\1C\1CEStart. Но, как видно, часть пути %AppData% совпадает с такой же системной переменной. В итоге удалось добиться того, что команда копирования
xcopy g:\ibases_test.v8i %userprofile%\AppData\Roaming\Thinstall\1C\"%"AppData"%"\1C\1CEStart /Y
, запущенная из командной строки работает нормально (знаки процента взяты в кавычки), но та же строчка записанная в bat-файл не работает и часть "%" AppData "%" съедается, а я вижу много циклически возникающих вопросов о том, что я копирую, файл или папку?


Пробовал сохранять файл с использованием разных кодировок, но не помогло. Если кто-нибудь встречался с подобным, подскажите, пожалуйста, в какую сторону нужно копать? Как написать батник, чтобы часть пути %AppData% не воспринималась как системная переменная?
  • Вопрос задан
  • 3685 просмотров
Решения вопроса 1
Можно попробовать %%AppData%%
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
074909
@074909
группа медленного нереагирования
Да, есть такая переменная.
Вам нужно было просто воспользоваться экранированием: символом "^".
(COMPUTER\user) C:\Users\user\
>echo %appdata%
C:\Users\user\AppData\Roaming

(COMPUTER\user) C:\Users\user\
>echo ^%appdata^%
%appdata%

duckduckgo.com/?q=bat+OR+cmd+экранирование
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы