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

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

Ответить
Настройки темы
CMD/BAT - Определить путь установки приложения в реестре и скопировать файлы

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


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

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


Добрый день.

Новичек в написание bat-файлов , однако видной владею не плохо.
И так задача. Необходимо скопировать из одной директорий в определенную директорию.
Однако есть условие. Необходимо определить путь установки приложение через реестр и если путь метода 1 то необходимо произвести следующие действия, однако если это условие не прошло необходимо воспользоваться методам 2.

Написал проверил работает при запуске с командной строки. Однако при запаковки bat-файла в Winrar (SFX) не корректно определяется путь именно DATADIR
Код:
Echo OFF
set f=0
:: Определение папки для скина
Set skin=skinning
::Определение переменной которую необходимо будет добавить в notes.ini
Set mc_skin=EXTMGR_ADDINS=mc_skinning.dll
:: Определяем путь программной директорий Lotus Notes
cd C:\TEMP\

For /f "tokens=2*" %%a In ('C:\Windows\System32\reg.exe query "HKEY_CURRENT_USER\Software\Lotus\Notes\Installer" ^| Find /i "PROGDIR"') Do Set "PROGDIR=%%b"

for /f "tokens=2*" %%a in ('REG query "HKEY_CURRENT_USER\Software\Lotus\Notes\7.0" /v NotesIniPath ^| find "NotesIniPath"') do (Set "NotesPath=%%b" & Set f=1)
if %f%==1 (
echo "metod All Users" > C:\TEMP\log.txt
echo "ini file = %NotesPath%" >> C:\TEMP\log.txt
set j=%NotesPath%
set DATADIR=%j:notes.ini=%
echo Data Directory %DATADIR:~0% >> C:\TEMP\log.txt
echo "Program directory %PROGDIR%" >> C:\TEMP\log.txt

md %DATADIR%%skin%
echo "Sozdanya papki %DATADIR%%skin%" >> C:\TEMP\log.txt
move C:\TEMP\def_background.bmp %DATADIR%%skin%
echo "Copy bmp to %DATADIR%%skin%" >> C:\TEMP\log.txt
:: Поиск и удаление строки EXTMGR_ADDINS= в конфигурационном файле notes.ini
move C:\TEMP\notes.ini "%DATADIR%"
echo %mc_skin% >> %NotesPath%
type %NotesPath% | findstr /i /v "EXTMGR_ADDINS=" > "%DATADIR%temp_notes.ini"
del "%NotesPath%"
rename "%DATADIR%temp_notes.ini" "notes.ini"
:: Добавление переменной EXTMGR_ADDINS=mc_skinning.dll в конфигурационный файл notes.ini
echo %mc_skin% >> "%NotesPath%"
icacls "%NotesPath%" /grant "%USERNAME%F)"
) else ( echo "Metod Only Me"
for /f "tokens=2*" %%a in ('REG query "HKEY_CURRENT_USER\Software\Lotus\Notes\installer" /v DATADIR ^| find "DATADIR"') do (Set "DATADIR=%%b" )
md "%DATADIR%%skin%"
move C:\TEMP\def_background.bmp "%DATADIR%%skin%"
:: Поиск и удаление строки EXTMGR_ADDINS= в конфигурационном файле notes.ini
type "%PROGDIR%notes.ini" | findstr /i /v "EXTMGR_ADDINS=" > "%PROGDIR%temp_notes.ini"
del "%PROGDIR%notes.ini"
rename "%PROGDIR%temp_notes.ini" notes.ini
:: Добавление переменной EXTMGR_ADDINS=mc_skinning.dll в конфигурационный файл notes.ini
echo %mc_skin% >> "%PROGDIR%notes.ini"
icacls "%PROGDIR%notes.ini" /grant "%USERNAME%F)"
)


echo move dll to %PROGDIR% >> C:\TEMP\log.txt
move C:\TEMP\mc_skinning.dll "%PROGDIR%"

Отправлено: 09:12, 28-05-2012

 


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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Определить путь и запись в реестр gen0m.rsw Скриптовые языки администрирования Windows 3 15-10-2010 15:23
CMD/BAT - [решено] BAT to EXE Не может определить путь к файлу men232 Скриптовые языки администрирования Windows 4 07-10-2010 20:09
CMD/BAT - файлы вида mmdd*.* - для каждой даты нужно создать каталог, скопировать, файлы milito Скриптовые языки администрирования Windows 2 24-05-2009 23:32
Как узнать путь в реестре Rigiy Хочу все знать 4 18-01-2007 02:50
Как скопировать в буфер шелла путь до текущего католога? Sharkky Общий по Linux 14 19-03-2004 08:45




 
Переход