Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.81.240] |
|
Сообщ.
#1
,
|
|
|
Надо указать относительный путь к папке C:\Windows.old\Users\?????????????\AppData\Local\Temp
Где ??????? - неизвестное имя пользователя C:\Windows.old\Users\..\AppData\Local\Temp - ..\ не работает , вылезает ошибка что путь не найден. |
Сообщ.
#2
,
|
|
|
Цитата Jerenimous @ Где ??????? - неизвестное имя пользователя Ну так узнайте сперва. Цитата Jerenimous @ C:\Windows.old\Users\..\AppData\Local\Temp - ..\ не работает , вылезает ошибка что путь не найден. Правильно, потому что получается C:\Windows.old\AppData\Local\Temp |
Сообщ.
#3
,
|
|
|
Программа должна проверять файлы которые будут находится по данному пути, а у каждого пользователя на этом месте разные названия.
Если у меня например C:\Windows.old\Users\Andrey\AppData\Local\Temp то у у другого может быть C:\Windows.old\Users\Ivan\AppData\Local\Temp Есть ли способ "пропустить" это значение и сразу приступить к папке appdata? |
Сообщ.
#4
,
|
|
|
Используй getuserprofiledirectory функц ию
|
Сообщ.
#5
,
|
|
|
Цитата Jerenimous @ Есть ли способ "пропустить" это значение и сразу приступить к папке appdata? Нет. Таких каталогов несколько - как система или программа определит, какой из каталогов надо "пропустить"? более того - а как ты определяешь, какой именно нужен? Цитата MIF @ Используй getuserprofiledirectory функц ию Если бы он обращался к каталогам текущего инстанса ОС - да, но, судя по наличию в пути каталога windows.old, ему нужно лезть в каталоги предыдущего инстанса, который "подвинут" установкой текущего... |
Сообщ.
#6
,
|
|
|
Получить путь к директории и добавить .old ?
|
Сообщ.
#7
,
|
|
|
MIF
Ну это при условии, что имя учётки в новой ОС точно такое, как и в старой. Хотя имхо проще тупо просканить каталог на предмет подкаталогов, и подставить реально имеющееся. |
Сообщ.
#8
,
|
|
|
Ну а если путь будет следующий - C:\Users\Имя Пользователя\Downloads
Можно ли как-то попасть прямиком в downloads если значение "Имя Пользователя" всегда будет разным? |
Сообщ.
#9
,
|
|
|
Если "Имя Пользователя" - это имя ТЕКУЩЕЙ УЧЁТНОЙ ЗАПИСИ, то элементарно:
strPath = Environ("USERPROFILE") & "\Downloads" Иначе та же проблема - как выбрать нужное из нескольких абсолютно эквивалентных. PS. Аналогично для начального вопроса - если речь о текущей учётной записи, то strPath = Environ("LOCALAPPDATA") & "\Temp" |
Сообщ.
#10
,
|
|
|
Да, "Имя Пользователя" это текущая учётная запись, но strPath = Environment("USERPROFILE") & "\Downloads" не помогло, так как программа (если она находится на рабочем столе) начинает искать по пути C:Users\Имя Пользователя\Desktop\USERPROFILE\Downloads
Поиск через For Each foundFile As String In My.Computer.FileSystem.GetFiles( strPath, FileIO.SearchOption.SearchTopLevelOnly, "*.exe") |
Сообщ.
#11
,
|
|
|
Цитата Jerenimous @ strPath = Environment("USERPROFILE") & "\Downloads" не помогло, так как программа (если она находится на рабочем столе) начинает искать по пути C:Users\Имя Пользователя\Desktop\USERPROFILE\Downloads Ох, ну до чего ж лень думать-то... откуда функцию Environment() накопал, если нет такой стандартной? код выше поправил... Цитата Jerenimous @ Поиск через For Each foundFile As String In My.Computer.FileSystem.GetFiles Мы, оказывается, даже читать не умеем... а ведь вон наверху русским по белому пишут: Цитата Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET. |
Сообщ.
#12
,
|
|
|
Да, невнимательный я
Спасибо, все работает |