Войти

Показать полную графическую версию : [решено] Как произвести запись файла во временную пользовательскую teemp папку на vbs?


Артём.Прохорович@vk
27-01-2019, 09:03
Здравствуйте, есть код который скачивает файлы затем сохраняет их по указаным путям.
Код работает на отлично, но у меня возникла проблема.
Мне нужно сохранять файлы во временную папку
у меня она выглядит так 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
27-01-2019, 09:46
Уже подсказали,может кому пригодится,вопрос исчерпан

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




© OSzone.net 2001-2012