Несколько полезных скриптов для командной оболочки cmd в Windows (bat-файлы).
Скрипт с использованием системной утилиты wmic. Для его работы оболочка должна быть запущена от администратора. Помещает каталог указанного процесса в PATH и выполняет bat-файл.
:: egax
:: Добавляем в PATH каталог исполняемого файла %1 процесса.
:: Запускаем если передан .bat %2
@echo off
wmic /? > nul
for /f "delims=" %%a in ('wmic process where ^(name^="%1"^) get ExecutablePath^|find
/V "ExecutablePath"^|findstr /V "^$"') do (
echo Сервис найден %%a
set PATH=%%~dpa
if "%2" == "" goto end
call "%~dp0\%2" %1 && goto end
)
if not exist "%~fs$PATH:1" (
echo Запущенный сервис не найден.
echo Запустите %1 и запустите вручную 'checkproc.bat %1 %2'.
)
:end
Скрипт используется для загрузки базы данных PostgreSQL
checkproc.bat postgres.exe install-bd.batВот текст скрипта install-bd.bat для восстановления базы postgresql из sql-дампа, созданного pg_dump.
:: egax
:: Распаковка базы mybd
@echo off
::имя базы и архива
set dbname=mybd
set initsql=}initsql{.sql
echo Установка базы %dbname% (требуется пароль postgres) . . .
pushd "%~dp0"
for /f %%a in ('dir /B "%dbname%"') do (
echo drop database %dbname%; >> %initsql%
echo create database %dbname% encoding 'win' template template0; >> %initsql%
echo \connect %dbname% >> %initsql%
echo \i %%a >> %initsql%
echo vacuum full analyze; >> %initsql%
psql -U postgres -f %initsql% template1 > nul 2>install-%dbname%.log
del /q %initsql%
)
:end
popd
Комментариев нет :
Отправить комментарий