Не могу сохранить файл
Проблема с переменной не могу сохранить файл через скрипт в %appdata% сохраняю таким способом oADOStream.SaveToFile "%appdata%\file", 2
|
Код:
WScript.Echo WScript.CreateObject("WScript.Shell").ExpandEnvironmentStrings("%AppData%")
WScript.Echo WScript.CreateObject("Shell.Application").NameSpace("shell:AppData").self.Path
Второй способ предпочтительнее.
|
Немножко не понял а во втором варианте вместо 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
может чего не понимаю...
|
Сохраните с расширением «.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>
|
Спасибо,а как мне добавить деректорию в аппдате? ну к примеру appdata\adobe
|
Добавить — означает «создать»? Или имеется в виду — просто дописать к пути в виде «shell:AppData+adobe+имя файла»?
|
Нет не создать ну что бы в подпапку аппдаты можно было сохранить
|
Например, так:
читать дальше »
Код:
<?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>
|
понял,а можно еще в конце запуск файла добавить?
|
Цитата:
Цитата Hancog
а можно еще в конце запуск файла добавить? »
|
Какого файла?
|
который будут сохранятся в аппдату,а именно картинку
|
Пробуйте:
читать дальше »
Код:
<?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 objShell
Dim objXMLHTTPRequest
Dim strFullName
strUrl = "http://tau.rghost.ru/57502402/image.png"
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("Shell.Application")
strDestPath = objFSO.BuildPath(objShell.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
strFullName = objFSO.BuildPath(strDestPath, objFSO.GetFileName(decodeURI(strUrl)))
With WScript.CreateObject("ADODB.Stream")
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
.Write objXMLHTTPRequest.responseBody
.SaveToFile strFullName, adSaveCreateOverWrite
End With
objShell.ShellExecute strFullName
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 objShell = Nothing
Set objFSO = Nothing
WScript.Quit 0
]]>
</script>
<script language='JScript'>
<![CDATA[
function decodeURI(sUrl) {
return decodeURI(sUrl);
}
]]>
</script>
</job>
Вопрос: в чём смысл сохранения именно в «shell:appdata», а не, скажем, в «%Temp%»?
|
Да можно и в темп было,я просто не когда не заходил в папку тем и не пользовался,а с аппдатой уже знаком
|
Время: 08:27.
© OSzone.net 2001-