Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] BAT добавление пути в файл конфигурации

Ответить
Настройки темы
CMD/BAT - [решено] BAT добавление пути в файл конфигурации

Новый участник


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

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


Здравствуйте. Нужна помощь.

Нужен батник, который будет прописывать путь в конфигурационном файле, к папке с программой.

Программа копируется в %APPDATA%\Programma
Есть файл конфигурации %APPDATA%\Programma\config.properties
в котором есть параметр “DirDirectory=”

Нужно чтобы батник считал полный путь %APPDATA%\Programma ,
и прописал путь как “DirDirectory=C:\Users\UserName\AppData\Roaming\Programma\”

Сам батник будет запускаться через GPO.

Отправлено: 12:30, 25-03-2014

 

Ветеран


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

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


Код: Выделить весь код
@echo off
(
for /f "tokens=1* delims=:" %%i in ('
  findstr /n "^" "%APPDATA%\Programma\config.properties"
 ') do (
  if not "%%j"=="" (
   echo.%%j| findstr /iv "DirDirectory="|| (
   echo DirDirectory=%APPDATA%\Programma\
   )
) else (
   echo.
  )
 )
)>"%APPDATA%\Programma\config_new.properties"
move "%APPDATA%\Programma\config.properties" "%APPDATA%\Programma\config.properties.bak">nul
move "%APPDATA%\Programma\config_new.properties" "%APPDATA%\Programma\config.properties">nul
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:56, 25-03-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


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

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


Georgio, Спасибо! Все отрабатывает отлично!

Но только я один момент сразу недоглядел, оказывается, что программа не воспринимает путь как:
DirDirectory=C:\Users\UserName\AppData\Roaming\Programma\

А нужно так:
DirDirectory=C\:\\Users\UserName\AppData\Roaming\Programma\

Подскажите, пожалуйста, как решить подмену?

Отправлено: 17:35, 25-03-2014 | #3


Ветеран


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

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


Код: Выделить весь код
@echo off
(
for /f "tokens=1* delims=:" %%i in ('
  findstr /n "^" "config.properties"
 ') do (
  if not "%%j"=="" (
   echo.%%j| findstr /iv "DirDirectory="|| (
   echo DirDirectory=%APPDATA::\=\:\\%\Programma\
   )
) else (
   echo.
  )
 )
)>config_new.properties
move config.properties config.properties.bak>nul
move config_new.properties config.properties>nul
exit /b

Отправлено: 18:27, 25-03-2014 | #4


Новый участник


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

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


Georgio, а как можно привести путь к такому виду:
DirDirectory=C\:\\Users\\UserName\\AppData\\Roaming\\Programma\\

C \\Programma\\ - все понятно, но как быть с преобразованием пути %APPDATA% ?

Софт оказался написанный на Java, и требует везде двойной \\

Отправлено: 21:24, 25-03-2014 | #5


Ветеран


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

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


Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion
(
for /f "tokens=1* delims=:" %%i in ('
  findstr /n "^" "config.properties"
 ') do (
  if not "%%j"=="" (
   echo.%%j| findstr /iv "DirDirectory="|| (
   set var=%APPDATA:\=\\%
   echo DirDirectory=!var::=\:!\\Programma\\
   )
) else (
   echo.
  )
 )
)>config_new.properties
move config.properties config.properties.bak>nul
move config_new.properties config.properties>nul
endlocal
exit /b
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:57, 25-03-2014 | #6


Новый участник


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

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


То, что нужно!
Отрабатывает отлично! протестил через GPO на 20 машинах.

Спасибо большое за помощь!

Отправлено: 14:27, 26-03-2014 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] BAT добавление пути в файл конфигурации

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] не работает bat файл если в пути имеются русские символы. Pinguine Скриптовые языки администрирования Windows 30 27-05-2019 12:18
CMD/BAT - [решено] Добавление пути(ей) в системные переменные (path) с помощью cmd-файла bearmvz Скриптовые языки администрирования Windows 10 05-08-2012 15:21
CMD/BAT - [решено] программа(.bat файл) которая случайным образом запускает .bat файлы из предложенных gangsterovich Скриптовые языки администрирования Windows 1 07-12-2010 06:45
VBS/WSH/JS - Экспорт значений реестра в общий текстовый файл + добавление доп данных в этот файл fedko Скриптовые языки администрирования Windows 0 17-06-2010 11:52
CMD/BAT - Надо сделать вывод пути в файл volk1234 Скриптовые языки администрирования Windows 10 04-12-2009 17:55




 
Переход