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

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

Ответить
Настройки темы
Любой язык - проверка наличия файла в директории

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


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

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


хочу написать ярлык,который бы проверял наличие браузера Mozilla Firefox и если его находил,то запускал нужный сайт,а если не находил,то запускал бы сайт в Internet Explorer.Посоветуйте,где можно почитать и какую функцию использовать? по каким лучше параметрам проверить наличие Firefox и Internet Explorer.

Отправлено: 10:06, 17-10-2014

 

Ветеран


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

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


Цитата:
Любой язык - проверка наличия файла в директории
Цитата icetanker:
проверял наличие браузера Mozilla Firefox »

Так что нужно проверять: наличие файла в директории или наличие установленной программы? Если нужно проверять наличие файла в директории, то какого файла и в какой директории?

Отправлено: 13:29, 17-10-2014 | #2



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

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


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


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

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


Georgio, нужно запускать сайт в Mozilla Firefox,а если его нету,то в Internet Explorer,независимо,есть ли другие браузеры и игнорируя браузер по умолчанию

Отправлено: 13:41, 17-10-2014 | #3


Ветеран


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

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


На WSH:
читать дальше »
Код: Выделить весь код
Option Explicit

Const HKEY_LOCAL_MACHINE = &H80000002


Dim strUrl

Dim strCurrentVersion
Dim strPathToExe

Dim boolFound


strUrl = "http://www.ya.ru"

With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\default").Get("StdRegProv")
	boolFound = False
	
	If .GetStringValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Mozilla\Mozilla Firefox", "CurrentVersion", strCurrentVersion) = 0 Then
		If .GetStringValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Mozilla\Mozilla Firefox\" & strCurrentVersion & "\Main", "PathToExe", strPathToExe) = 0 Then
			If WScript.CreateObject("Scripting.FileSystemObject").FileExists(strPathToExe) Then
				boolFound = True
				
				WScript.CreateObject("WScript.Shell").Run """" & strPathToExe & """ """ & strUrl & """", 1, 0
			Else
				WScript.Echo "Can't find [" & strPathToExe & "]."
			End If
		Else
			WScript.Echo "Can't get [PathToExe] parameter from [HKLM\SOFTWARE\Mozilla\Mozilla Firefox\" & strCurrentVersion & "\Main] subkey of registry."
		End If
	Else
		WScript.Echo "Can't get [CurrentVersion] parameter from [HKLM\SOFTWARE\Mozilla\Mozilla Firefox] subkey of registry."
	End If
End With

If Not boolFound Then
	With WScript.CreateObject("InternetExplorer.Application")
		.Visible = True
		.Navigate strUrl
	End With
End If

WScript.Quit 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:41, 17-10-2014 | #4


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


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

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


Iska, токо почему то мозилла есть на компьютере,а он пишет Can't get [PathToExe] parameter from [HKLM\SOFTWARE\Mozilla\Mozilla Firefox\" & strCurrentVersion & "\Main] subkey of registry
и не запускает в ней?почему?

Отправлено: 23:23, 18-10-2014 | #5


Ветеран


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

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


Цитата icetanker:
почему? »
Потому что:
Цитата icetanker:
Can't get [PathToExe] parameter from [HKLM\SOFTWARE\Mozilla\Mozilla Firefox\" & strCurrentVersion & "\Main] subkey of registry »
Во-первых, что-то не верится, что пишет именно так. Ну, никак не может. Нажмите Ctrl-C в окне сообщения и вставьте текст сюда.

Во-вторых, даже по приведённому можно предположить, что у Вас отсутствует. Там ведь написано, чего не хватает. Также сообщите, какая у Вас ОС, её разрядность, какая версия Firefox, как и где установлена.

Отправлено: 02:16, 19-10-2014 | #6


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


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

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


Изображения
Тип файла: jpg Безымянный.jpg
(131.4 Kb, 14 просмотров)

Iska, windows 8 64 bit,остальное на скрине
http://forum.oszone.net/attachment.p...1&d=1413698746

Отправлено: 10:05, 19-10-2014 | #7


Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата icetanker:
почему? »
icetanker, доступ через WMI к 32-разрядным разделам реестра из 64-разрядной системы немного по-другому делается:
Код: Выделить весь код
...
Dim objCtx

strUrl = "http://www.ya.ru"

Set objCtx = CreateObject("WbemScripting.SWbemNamedValueSet")
objCtx.Add "__ProviderArchitecture", 32

With WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\default", "", "", "", "", 0, objCtx).Get("StdRegProv")
...
icetanker, вариант №2:
Код: Выделить весь код
@Echo Off
Set URL=google.ru

Start "" /MIN cmd /c "Start "" firefox.exe -new-window %URL%||Start "" iexplore.exe %URL%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:31, 19-10-2014 | #8


Ветеран


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

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


El Sanchez, чей код возврата воспримет «||» — от первого «start», от «cmd.exe», от второго «start» или от «firefox.exe» ?

А теперь вопрос серьёзней: на x64 «AppPath» един для x64 и x86 приложений? Насколько я понимаю, нет. Использует ли x64-приложение данные из x86 раздела «AppPath»?

Последний раз редактировалось Iska, 19-10-2014 в 15:55.


Отправлено: 15:49, 19-10-2014 | #9


Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата Iska:
чей код возврата воспримет «||» — от первого «start», от «cmd.exe», от второго «start» или от «firefox.exe» »
Iska, от второго «start». Или я что-то не знаю? Смайлик как бы напрягает .
Цитата Iska:
на x64 «AppPath» един для x64 и x86 приложений? »
Iska, видимо, един, т.к. и х86-, и х64-приложения регистрируют себя в обоих разделах «App Paths».
Цитата Iska:
Использует ли x64-приложение данные из x86 раздела «AppPath»? »
Iska, да, ведь разделы «App Paths» еще и синхронизированы.

Отправлено: 18:15, 19-10-2014 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] проверка наличия файла и если нет копирование из шары. LAKERS824 Скриптовые языки администрирования Windows 4 28-04-2014 15:15
VBS/WSH/JS - Проверка наличия файла в папке в случае отсутствия перезагружать компьютер NickCom Программирование и базы данных 4 19-08-2013 05:13
CMD/BAT - [решено] автоматическая проверка наличия файла и его шифрование DorianWolf Скриптовые языки администрирования Windows 2 10-12-2012 17:31
Любой язык - [решено] Проверка наличия файла на веб-сервере Vadikan Скриптовые языки администрирования Windows 5 20-05-2011 01:22
CMD/BAT - [решено] Определение атрибута файла & проверка наличия процесса user_123 Скриптовые языки администрирования Windows 10 19-11-2010 16:15




 
Переход