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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Cmd 2 Vbs

Ответить
Настройки темы
VBS/WSH/JS - Cmd 2 Vbs

Аватара для gen0m.rsw

Пользователь


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

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


Всем участникам респект!!!
Помогите правильно перевести CMD скрипт в VBS

Код: Выделить весь код
%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe /codebase "%windir%\system32\ShellExt\APK Shell Extension\apkshellext.dll"

Отправлено: 23:06, 14-09-2014

 

Ветеран


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

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


Если делать по уму — как-то так (не проверялось!):
Код: Выделить весь код
Option Explicit

Const WindowsFolder = 0
Const SystemFolder = 1

Dim objFSO

Dim strFile1
Dim strFile2


Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")

strFile1 = objFSO.BuildPath(objFSO.GetSpecialFolder(WindowsFolder), "Microsoft.NET\Framework\v4.0.30319\regasm.exe")

If objFSO.FileExists(strFile1) Then
	strFile2 = objFSO.BuildPath(objFSO.GetSpecialFolder(SystemFolder), "ShellExt\APK Shell Extension\apkshellext.dll")
	
	If objFSO.FileExists(strFile2) Then
		WScript.CreateObject("WScript.Shell").Run """" & strFile1 & """ /codebase """ & strFile2 & """", 1, True
	Else
		WScript.Echo "Can't find file [" & strFile2 & "]."
		WScript.Quit 2
	End If
Else
	WScript.Echo "Can't find file [" & strFile1 & "]."
	WScript.Quit 1
End If

Set objFSO = Nothing

WScript.Quit 0

Отправлено: 01:02, 15-09-2014 | #2



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

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


Аватара для gen0m.rsw

Пользователь


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

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


Iska
Скрип работает(если выше путь совпадает)! Как всегда не досказал!
Сборку дЭлаю, в Advanced Installer 10.7
Не хочу лишние файлы(мусор, по уму хочется, да и приятно) в инстолятор пихать!!!
Есть конечно CMD оригинальный(ниже), но в чем проблема, путь переменный(у человека должОн быть выбор,
по Ентому активно использую "Переменные среды")!!!!

Код: Выделить весь код
"%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" /codebase "%~dp0\apkshellext.dll"
Вот Ентот скрипт на Языке Advanced Installer дОлжон выглядеть так
Код: Выделить весь код
"[WindowsFolder]Microsoft.NET\Framework64\v4.0.30319\regasm.exe" /codebase "[APKShellExtension_Dir]apkshellext.dll"
или так
Код: Выделить весь код
"[WindowsFolder]\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" /codebase "[APKShellExtension_Dir]\apkshellext.dll"
Да и на кавычки ему нас Рать(а нас больше), сам определяет(в отличие от VBS, ШОТО там иХних много)
Вот как то так!!! Спасибо за понимание Iska
А, ДА original cmd code, енто самого монстра(хорошего правда)!!!
читать дальше »
Код: Выделить весь код
@ECHO OFF
ECHO ################################################
ECHO ##            APK Shell Extension             ##
ECHO ##                                            ##
ECHO ##     http://apkshellext.googlecode.com      ##
ECHO ################################################

@echo off

REM === check and get the UAC for administrator privilege ===
REM === code from https://sites.google.com/site/eneerge/scripts/batchgotadmin
REM === 
:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------

REM SYSTEMINFO | FIND /i "x64-based pc"
echo %PROCESSOR_IDENTIFIER% | FIND /i "x86"

IF %ERRORLEVEL%==1 (
  "%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" /codebase "%~dp0\apkshellext.dll"
) ELSE (
  "%windir%\Microsoft.NET\Framework\v4.0.30319\regasm.exe" /codebase "%~dp0\apkshellext.dll"
)

ECHO Done!
ECHO.
ECHO /-------------------------------------------------------------------\
ECHO  apkshellext is an open-source project,
ECHO  Please visit http://apkshellext.googlecode.com for more information
ECHO \-------------------------------------------------------------------/

PAUSE
@ECHO ON


Тоже похожая проблема с QTAddressBar, но была решена просто(НЕ ПРОСТО) добавлением ветвей в реестр(120 записей и конечно в супер папку Assembly\и дальше), разумеется при наличии NET 2
Хотя тоже проблема решается тоже через
Код: Выделить весь код
"%windir%\Microsoft.NET\Framework64\v4.0.30319\regasm.exe" /codebase "%~dp0\QTAddressBar.dll"
Но с apkshellext.dll файл реестра перевалил за 2000 строк(и Енто я его почистил, вплоть до пробелов), такое количество записей я не могу(не хочу) добавлять в инстолятор(MSI)!!!

Отправлено: 12:14, 18-09-2014 | #3


Ветеран


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

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


Цитата gen0m.rsw:
Спасибо за понимание Iska »
Вы напрасно благодарите меня — я ничего не понял в Вашем сумбурном описании с настойчивым коверканием языка.

Отправлено: 17:56, 18-09-2014 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Cmd 2 Vbs

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] CMD/BAT+VBS завершение процессов dinis.grek Скриптовые языки администрирования Windows 6 14-07-2014 07:25
VBS/WSH/JS - [решено] Парсинг ответа консоли CMD (VBS) andr_mozg Скриптовые языки администрирования Windows 2 14-03-2013 17:27
VBS/WSH/JS - Перевод скрипта архивации с CMD на VBS Serg2010 Скриптовые языки администрирования Windows 7 31-05-2012 23:32
VBS/WSH/JS - [решено] Обработка команды в CMD через VBS KaKTuZ49 Скриптовые языки администрирования Windows 2 12-12-2011 14:37
VBS/WSH/JS - [решено] Из cmd в VBS JIuBeHb Скриптовые языки администрирования Windows 3 19-01-2010 01:42




 
Переход