|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Мне надо производить действия с файлами: заархивировать/разархивировать скопировать базу, сжать её и так далее. Для этого я использовал папку c:\Documents and Settings\username\Local Settings\Temp\ Я находил путь к папке при помощи класса clsCpecialFolder (см приложение). Но там не было пути к папке Temp, а был путь к C:\Documents and Settings\username\Local Settings\Application Data Я получал этот пут, удалял последний кусочек и подставлял Temp. На ХР всё работало нормально. Но недавно поставили Seven (семёрку) , а там совершенно иные пути к служебным папкам. Как вычислить путь к Temp в не зависимости от версии операционки? ------------------------------------------------------------- А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 11:14 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Joss, не оно? Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 11:22 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Joss, ?environ("Temp") C:\DOCUME~1\Admin\LOCALS~1\Temp chdir("C:\DOCUME~1\Admin\LOCALS~1\Temp") ?curdir C:\DOCUME~1\Admin\LOCALS~1\Temp ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 11:25 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Agapov_stas , а нафига лишние телодвижения? Код: vbnet 1.
Правда, и тут есть засада - метод, не размышляя, просто берёт значение сеансовой переменной %TEMP%. В которую в общем пользователь имеет право запихать всё, что ему заблагорассудится, в том числе и голимый фэйк. Надёжнее использовать API-функции, как собсно это рекомендует MSDN: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 11:42 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Спасибо. Сейчас посмотрю. А то что-то зациклился на этом классе. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 11:51 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Akina Agapov_stas , а нафига лишние телодвижения? А кто их делал? Я лишь написал вариант. Никаких лишних движений. А только хотел написать за environ("Temp"), увидел, что уже написали. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 12:42 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Agapov_stas , не, я просто к тому, что объектная переменная, которая создаётся, пользуется и тут же давиться, лишняя. Вот кабы она где ещё потребовалась... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 12:59 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Joss, ?Environ("LocalAppData") & "\Temp" C:\Users\Master 307\AppData\Local\Temp ----------------------------------------- На Windows XP, раньше показывало такой путь, туда была распаковка. ?Environ("LocalAppData") & "\Temp" C:\Documents and Settings\username\Local Settings\Temp Сейчас, наверное после какого-то обновления, При распаковки файлов создаётся папка Temp на диске С и показывает такой путь без диска, хотя этот путь C:\Documents and Settings\username\Local Settings\Temp тоже существует. ?Environ("LocalAppData") & "\Temp" \Temp ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 21:34 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
JossМне надо производить действия с файлами: заархивировать/разархивировать скопировать базу, сжать её и так далее. Для этого я использовал папку c:\Documents and Settings\username\Local Settings\Temp\ Я находил путь к папке при помощи класса clsCpecialFolder (см приложение). Но там не было пути к папке Temp, а был путь к C:\Documents and Settings\username\Local Settings\Application Data Я получал этот пут, удалял последний кусочек и подставлял Temp. На ХР всё работало нормально. Но недавно поставили Seven (семёрку) , а там совершенно иные пути к служебным папкам. Как вычислить путь к Temp в не зависимости от версии операционки? ------------------------------------------------------------- А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса? Не, я валяюсь... БГ спецом создал переменные окружения, чтобы отвязаться от абсолютных путей. Ты же вдохновенно реверсинжиниришь его :) Чем теяб не устраивают %TEMP% и %TMP%? . ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2015, 22:19 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Mina Anna MazziniЧем теяб не устраивают %TEMP% и %TMP%? А тем, что AkinaВ которую в общем пользователь имеет право запихать всё, что ему заблагорассудится, в том числе и голимый фэйк. Понятно, что, как правило, он этого не станет делать, ибо ему немедленно аукнется. А ещё хочу напомнить, что переменные эти на самом деле пережиток далёкого прошлого. Пусть и добросовестно пока поддерживаемый. Сейчас сама ОС в своей работе ориентируется на совсем из другого места взятые данные - и правильнее делать так же. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 09:07 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Joss, И чё вам дался каталог Temp. Чё других чёли нету ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 09:13 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
ROI , постарайтесь читать не только сабж, но и тред. ТСу нужен не Temp, а каталог, куда он может безопасно поместить временный файл и не бояться проблем с интерференцией, отсутствием прав и прочей отравляющей жизнь ерундой. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 09:29 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Akina ROI , постарайтесь читать не только сабж, но и тред. ТСу нужен не Temp, а каталог, куда он может безопасно поместить временный файл и не бояться проблем с интерференцией, отсутствием прав и прочей отравляющей жизнь ерундой. Я то читаю. Если контупер в домене -то (у ТС будет отсутствие прав и прочей отравляющей жизнь ерунды ) >> а каталог, куда он может безопасно поместить временный файл и не бояться проблем с интерференцией. Это чё "интерференцией" (а по русски)? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 09:54 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
[quote ROI]Joss, К стати в Win 10 путь такой: C:\Users\username\AppData\Local\Temp ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 09:59 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
ROIЭто чё "интерференцией" (а по русски)? По-русски это "пересечение, взаимное влияние". Т.е. применительно к данному случаю - потенциальное пересечение по ресурсу с другим процессом, возможно, другой копией того же процесса. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 10:22 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
AkinaТСу нужен не Temp, а каталог, куда он может безопасно поместить временный файл и не бояться проблем с интерференцией, отсутствием прав и прочей отравляющей жизнь ерундой. Классика. ТС пишет одно, не заморачиваясь формулировками и правильным пониманием его формулировок однополчанами, а мы облагораживаем его хотелки :) Акина, очередной респект. Итак, в этом, уточненном контексте: AkinaMina Anna MazziniЧем теяб не устраивают %TEMP% и %TMP%? А тем, что AkinaВ которую в общем пользователь имеет право запихать всё, что ему заблагорассудится, в том числе и голимый фэйк. Понятно, что, как правило, он этого не станет делать, ибо ему немедленно аукнется. А ещё хочу напомнить, что переменные эти на самом деле пережиток далёкого прошлого. Пусть и добросовестно пока поддерживаемый. ... Ну, пусть пережиток. Но, пережиток работающий и, главное, вносящий хоть какую-то гармонию в кучи дерьма, творчески рассыпаемого по диску. Akina... Сейчас сама ОС в своей работе ориентируется на совсем из другого места взятые данные - и правильнее делать так же. Тут у меня пробел в знаниях - живу в прошлом веке. Если в пару слов впишешься - обскажи, плз, - что за другие места? Где опасность интерференции (ROI, прости) с TEMP? А если говорить про интерференцию (ROI, прости еще раз), то она межрофильная идеологически, организационно невозможна. А внутрипрофильная... так, это надо выдумать задачу (или их набор), которая внутри профиля асинхронно валит в одну и ту же папку и в один и тот же файл... Да и в этом случае все разруливается через GUID, а бескнофликтность на уровне приложений - через транзакции... Чегой-то я недопонимаю, млин... . ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 11:34 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Mina Anna MazziniЕсли в пару слов впишешься - обскажи, плз, - что за другие места? Где опасность интерференции (ROI, прости) с TEMP? Windows использует достаточно много разных Temporary Folders. В профиле текущего пользователя, в общем профиле, в системном каталоге. Да и в каждом из этих мест их не по одному. Право слово, вот не заморачивался, где каждый из них прописан и в каких случаях используется. Насчёт опасности... представь, что ты хардкодишь имя временного файла. Теперь представь, что по ошибке запускаешь две копии приложения. И они начинают мордобой за право первой ночи на один и тот же файл. Со скорее всего фатальными последствиями для обеих копий, а то и для данных. Это самый простой сценарий, хотя, увы, достаточно жизненный, особенно в условиях ускоренного программирования. К слову, где-то когда-то читал, причём именно в MSDN или аналогичном месте, забавную ремарку о том, что любая программа должна учитывать, что в любой момент любой контент каталога %Temp% имеет право быть удалён, посему любой помещаемый туда файл рекомендовалось открывать в блокирующем режиме. Но это так, к слову... просто я запомнил, что есть "ненадёжные" места, и это надо учитывать. Конечно, любые конфликты и накладки разруливаются, кто спорит. Но разумнее исключить их заранее, или по крайней мере понизить вероятность их возникновения. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 11:59 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Akina, снкс. Значит мой пробел не такой уж и пробел :) Просто я твое "места" прочел как "механизмы" вот и озадачился. А про места, и что они расплодились - я фкурсах. Но и в этом контексте, я бы не рекомендовал ТС-у далеко отходить от спущенной сверху модели профилей и привязанных к ним через переменные окружения физических папок. Себе я позволяю лишь такую вольность - перенос папок с системного диска (из профиля) на другой логический (а желательно и физический) диск. При логине (дополнительно к встроенным механизмам венды) проверяется их наличие и создание по нужде. Ну, а с учетом упомянутой ремарки... остается формировать (расширять текущее) собственное окружение для конкретного сеанса конкретного приложения. Проблемы ТС - именно из-за харкода, который ты упомянул. Из-за тех самых гвоздей, за которые я рублюсь с оппонентами уже не первый раз :) 18314681 . ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 12:26 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Случайно зашел. Сколько всего написано. Небольшое пояснение. Просто пример для чего мне это понадобилось. Разделённая база данных. Надо сделать копию базы с таблицами для архива и перед этим сжать. Для сжатия мне нужен каталог, который есть на любой машине и у любого пользователя. Я прикинул, что лучше всего подойдёт для этого каталог Temp из профиля пользователя. Но забыл, как определить путь к нему. Спасибо за помощь. Сделал, работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 15:04 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
ROIЭто чё "интерференцией" (а по русски)? interference слово производное от interfere http://dictionary.cambridge.org/dictionary/english/interfere Вмешиваться(в чужие дела). Мой пост и есть interference. Как правило негативный подтекст. Влияние извне. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 16:36 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
[quot ROI]ROIJoss, К стати в Win 10 путь такой: C:\Users\username\AppData\Local\TempВ Windows 7 такой же ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 16:45 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
ROI...Это чё "интерференцией" (а по русски)?В школе на физике проходили. Когда про волны было. Разве нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 16:59 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
JossНадо сделать копию базы с таблицами для архива и перед этим сжать. Сжать надо именно оригинал? или достаточно только получения сжатой копии? Во втором случае ты можешь влоб делать DBEngine.CompactDatabase в нужное место... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2015, 17:20 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Заметки на полях... Сжимать ли базы перед бэкапом? Мыть ли руки Выключать ли свет перед едой близостью? В одном столичном городе жили два приятеля. Один - фотограф, второй - женских дел мастер. Хенеголох, фсмысле. Фотограф постоянно приставал к дохтуру: - Какая у тебя славная работа! Мне б хоть денек за тебя потрудиться - сколько бы я идей с натуры для своего творчества почерпнул! Приставал-приставал и однажды, будучи изрядно в подпитии, дохтур согласился: - Да достал ты! В чем проблема? Бери мой халат и веди с утра прием. Сказано - сделано. И вот, первая пациентка: - Что тревожит, сударыня? - Понимаете, доктор, я - белая, муж мой - белый, а ребенок родился - арап. Черный, как смоль. А я, под образами клянусь, мужу верна, с девичества, коего он меня и лишил же, подлец. Вот те крест истинный. - М-да... тяжелый случай. Пройдите на кресло. Там же, за ширмой, и разденетесь. И крутил он, и вертел ее на кресле - как глобус в третьем классе церковно-приходской. Насмотрелся - вдоволь :) - Нет, сударыня, никаких паталогий я по моей линии не вижу. Может вы расскажете - как все это произошло? - Как роды были? - Да нет. Я про зачатие. - Да как... как обычно. Муж вернулся со службы, я накрыла настолл, подала ужин. Пока он читал газеты и поливал цветы в палисаднике, я убрала со стола и, помыв посуду, отправилась в спальню. Умаявшись, выключила свет и сразу было заснула, как приперся мой благоверный. С интересом своим пакостным. Вот и произошло, что произошло. Отпыхтевшись, он встал покурить, включил свет... - Стоп, стоп, стоп! - в неожиданном восторге перебивает ее наш новообращенный акушер-фотограф - Вот тут-то вы его и засветили!!! Вот и вопрос в этом контексте - стоит ли сжимать ли базы перед бэкапом? Сжимать - в смысле механизмами Акса. Есно, имеем ввиду среднестатистическую базу, без крайних случев массового и регулярного удаления записей. Архиваторы прекрасно их жмут. Разницы почти нет - компактили бызу перед архивированием или нет. Пусть она будет в бэкапе чуть потолше, но живая. Так мыть ли руки перед едой?.. чтобы не засветить... не нарваться в итоге на черненького... . ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2015, 00:12 |
|
Как определить путь к каталогу Temp
|
|||
---|---|---|---|
#18+
Mina Anna Mazzini, Много рассуждений. Всё проверяется практикой. До сжатия база 13 Мб, после 1,7 Мб. Архив не сжатой базы 400 Кб, сжатой - 277 Кб. Это я о размерах. Сбои при сжатии средствами Access. Да был у меня такой случай. Лет 12 назад. Но это значит что база уже повреждена и надо предпринимать меры к её восстановлению. При неудачном сжатии, подпрограмма, где это происходит завершается по ошибке. Кроме того в настройках самой программы стоит флажок "Делать бэкап со сжатием или без". А так же, архивировать его потом архиватором или не надо. Разработчик (то есть я ) предусмотрел такие возможности, а уж дело пользователя ими пользоваться или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2015, 10:51 |
|
|
start [/forum/topic.php?fid=45&msg=39084549&tid=1614384]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 356ms |
total: | 506ms |
0 / 0 |