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

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

Закрытая тема
Настройки темы
VBS/WSH/JS - Не могу сохранить файл

Забанен


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

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


Проблема с переменной не могу сохранить файл через скрипт в %appdata% сохраняю таким способом oADOStream.SaveToFile "%appdata%\file", 2

Отправлено: 23:15, 16-08-2014

 

Ветеран


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

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


Код: Выделить весь код
WScript.Echo WScript.CreateObject("WScript.Shell").ExpandEnvironmentStrings("%AppData%")
WScript.Echo WScript.CreateObject("Shell.Application").NameSpace("shell:AppData").self.Path
Второй способ предпочтительнее.

Отправлено: 00:46, 17-08-2014 | #2



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

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


Забанен


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

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


Немножко не понял а во втором варианте вместо NameSpace имя файла сохраняемого писать? Просто попробовал не получается

Полный скрипт
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
'подключение
oXMLHTTP.Open "GET", "http://tau.rghost.ru/57502402/image.png", 0
'получение файла
oXMLHTTP.Send
Set oADOStream = CreateObject("ADODB.Stream")
oADOStream.Mode = 3 'разрешение на чтение и запись
oADOStream.Type = 1 'тип данных - Binary
oADOStream.Open
oADOStream.Write oXMLHTTP.responseBody
'сохранение (с перезаписью файла при необходимости)
WScript.Echo WScript.CreateObject("Shell.Application").NameSpace("shell:AppData").self.Path

может чего не понимаю...

Отправлено: 00:55, 17-08-2014 | #3


Ветеран


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

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


Сохраните с расширением «.wsf»:
читать дальше »
Код: Выделить весь код
<?xml version='1.0' encoding='windows-1251' standalone='yes'?>
<job>
	<script language='VBScript'>
		<![CDATA[
			Option Explicit

			Const adTypeBinary = 1
			Const adModeReadWrite = 3
			Const adSaveCreateOverWrite = 2


			Dim strUrl

			Dim objXMLHTTPRequest
			Dim objFSO


			strUrl = "http://tau.rghost.ru/57502402/image.png"

			Set objFSO            = WScript.CreateObject("Scripting.FileSystemObject")
			Set objXMLHTTPRequest = WScript.CreateObject("Msxml2.XMLHTTP")

			objXMLHTTPRequest.Open "GET", strUrl,False
			objXMLHTTPRequest.send

			If objXMLHTTPRequest.status = 200 Then
				With WScript.CreateObject("ADODB.Stream")
					.Mode = adModeReadWrite
					.Type = adTypeBinary
					.Open
					.Write objXMLHTTPRequest.responseBody
					.SaveToFile objFSO.BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:AppData").self.Path, objFSO.GetFileName(decodeURI(strUrl))), adSaveCreateOverWrite
				End With
			Else
				WScript.Echo "Status: " & CStr(objXMLHTTPRequest.status)
			End If

			Set objXMLHTTPRequest = Nothing
			Set objFSO            = Nothing

			WScript.Quit 0
		]]>
	</script>

	<script language='JScript'>
		<![CDATA[
			function decodeURI(sUrl) {
				return decodeURI(sUrl);
			}
		]]>
	</script>
</job>
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:35, 17-08-2014 | #4


Забанен


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

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


Спасибо,а как мне добавить деректорию в аппдате? ну к примеру appdata\adobe

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


Ветеран


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

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


Цитата Hancog:
добавить »
Добавить — означает «создать»? Или имеется в виду — просто дописать к пути в виде «shell:AppData+adobe+имя файла»?

Отправлено: 10:58, 17-08-2014 | #6


Забанен


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

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


Нет не создать ну что бы в подпапку аппдаты можно было сохранить

Отправлено: 12:07, 17-08-2014 | #7


Ветеран


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

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


Например, так:
читать дальше »
Код: Выделить весь код
<?xml version='1.0' encoding='windows-1251' standalone='yes'?>
<job>
	<script language='VBScript'>
		<![CDATA[
			Option Explicit
			
			Const adTypeBinary = 1
			Const adModeReadWrite = 3
			Const adSaveCreateOverWrite = 2
			
			
			Dim strUrl
			Dim strDestPath
			
			Dim objFSO
			Dim objXMLHTTPRequest
			
			
			strUrl = "http://tau.rghost.ru/57502402/image.png"
			
			Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
			
			strDestPath = objFSO.BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:AppData").self.Path, "adobe")
			
			If objFSO.FolderExists(strDestPath) Then
				Set objXMLHTTPRequest = WScript.CreateObject("Msxml2.XMLHTTP")
				
				objXMLHTTPRequest.Open "GET", strUrl,False
				objXMLHTTPRequest.send
				
				If objXMLHTTPRequest.status = 200 Then
					With WScript.CreateObject("ADODB.Stream")
						.Mode = adModeReadWrite
						.Type = adTypeBinary
						.Open
						.Write objXMLHTTPRequest.responseBody
						.SaveToFile objFSO.BuildPath(strDestPath, objFSO.GetFileName(decodeURI(strUrl))), adSaveCreateOverWrite
					End With
				Else
					WScript.Echo "Status: " & CStr(objXMLHTTPRequest.status)
				End If
				
				Set objXMLHTTPRequest = Nothing
			Else
				WScript.Echo "Destination path [" & strDestPath & "] not found."
				WScript.Quit 1
			End If
			
			Set objFSO = Nothing
			
			WScript.Quit 0
		]]>
	</script>
	
	<script language='JScript'>
		<![CDATA[
			function decodeURI(sUrl) {
				return decodeURI(sUrl);
			}
		]]>
	</script>
</job>
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:54, 17-08-2014 | #8


Забанен


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

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


понял,а можно еще в конце запуск файла добавить?

Отправлено: 18:10, 17-08-2014 | #9


Забанен


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

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


ап тему

Отправлено: 20:55, 17-08-2014 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Установка - Paint.Net не удается сохранить Файл JayFoster Microsoft Windows 7 2 15-06-2014 15:42
Mandriva/Mandrake - не могу сохранить xorg.conf andrewsk07 Общий по Linux 2 24-09-2011 10:36
Интернет - [решено] Не могу сохранить имя файла Chelovek16 Microsoft Windows 2000/XP 2 13-07-2008 12:01
Не могу сохранить БЕСПЛАТНЫЙ! mid - файл из IExpl на диск Luna Хочу все знать 2 29-06-2005 03:23
не могу сохранить страницу Evita Хочу все знать 15 19-02-2005 22:41




 
Переход