VBS/WSH/JS - [решено] Как произвести запись файла во временную пользовательскую teemp папку на vbs?

Ответить
Аватара пользователя
Артём.Прохорович@vk

VBS/WSH/JS - [решено] Как произвести запись файла во временную пользовательскую teemp папку на vbs?

Сообщение Артём.Прохорович@vk »

Здравствуйте, есть код который скачивает файлы затем сохраняет их по указаным путям.

Код работает на отлично, но у меня возникла проблема.

Мне нужно сохранять файлы во временную папку

у меня она выглядит так C:\Users\7272~1\AppData\Local\Temp



Можно ли мне с помощью скрипта вызвать название временной папки в системе, а затем подставить полученное значение с помощью переменной в том коде где ссылки на файлы?



т. к. я посмотрел что на моей виндовс 10 пользовательская папка temp находится по адресу C:\Users\USER_NAME\AppData\Local\Temp\

а на windows xp уже она имеет такой вид C:\Documents And Settings\USER_NAME\Local Settings\Temp\

хотелось бы немного упростить этот процес,с помощью автоматического указывания временной ппки пользователя в системе))



set d = CreateObject("Scripting.Dictionary")

d.Add "0", "прямая ссылка на файл 1|D:\file1.txt"

d.Add "1", "прямая ссылка на файл 2|E:\Temp\trash.txt"

Set x = CreateObject("MSXML2.XMLHTTP")

For Each i In d

x.open "GET", Split(d.Item(i), "|")(0), false

x.send()

If x.Status = 200 Then

With CreateObject("ADODB.Stream")

.Open

.Type = 1

.Write x.ResponseBody

.Position = 0

.SaveToFile Split(d.Item(i), "|")(1), 2

.Close

End With

End If

Next
Аватара пользователя
Артём.Прохорович@vk

Re: VBS/WSH/JS - [решено] Как произвести запись файла во временную пользовательскую teemp папку на vbs?

Сообщение Артём.Прохорович@vk »

Уже подсказали,может кому пригодится,вопрос исчерпан





Код:

Код: Выделить всё

Set oShell = CreateObject( "WScript.Shell" )
temp=oShell.ExpandEnvironmentStrings("%TEMP%")
set d = CreateObject("Scripting.Dictionary")
d.Add "1", "http://google.com/trash.txt|"&temp&"\trash.txt"
Set x = CreateObject("MSXML2.XMLHTTP")
For Each i In d 
x.open "GET", Split(d.Item(i), "|")(0), false
x.send()
If x.Status = 200 Then
With CreateObject("ADODB.Stream")
.Open
.Type = 1
.Write x.ResponseBody
.Position = 0
.SaveToFile Split(d.Item(i), "|")(1), 2
.Close
End With
End If
Next
Ответить

Вернуться в «Скриптовые языки администрирования Windows»