Войти

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


Desmodeus
13-10-2015, 08:28
Ощущаю себя полным ламером, но что-то действительно не могу сообразить.

Есть программа, у которой есть папка профиля. Эта папка лежит в известном месте (%appdata%/program ) и имеет рендомно сгенерированное системой имя(нахрена так - не знаю). Внутри данной папки есть папка "settings". И вот именно в эту папку мне надо закинуть обновленный файл настроек. Как именно будет выглядить адрес для копирования? Как то так?
%appdata%/program/*/settings/

Foreigner
13-10-2015, 09:01
Desmodeus,


@echo off
setlocal

for /f "tokens=*" %%i in ('dir /b /s /ad "%appdata%\program\settings"') do set "copyto=%%i"
copy файл_настроек "%copyto%"

Desmodeus
13-10-2015, 09:12
Так, что-т немного не въезжаю - а в случае если в папке %appdata%\program есть другие папки, это сработает? Или он схватит первую попавшуюся и выполнится один раз? Просто видел пару раз что данное по создавало себе несколько папок профилей(правда рабочим был только последний)

Foreigner
13-10-2015, 09:54
Desmodeus, Если есть несколько профилей и в каждом есть подпапка settings, как допустим в огнелисе, то должен быть файл настроек профилей. Иначе как определить, какой профиль дефолтный? Я ФФ не пользуюсь, но помню, что там именно так.

Elven
13-10-2015, 10:47
Поправьте если ошибаюсь, но программа использующая эти настройки где-то должна ссылаться на указанную папку (например в реестре) иначе откуда ей знать где эти самые настройки искать, не проще ли выдернуть оттуда точное значение в переменную и подставить ее значение в нужное место?

Desmodeus
13-10-2015, 11:02
Найти бы ещё где она из хранит... Не в реестре точно, я его перерыл)

Но окей, спасибо в любом случае, значит тогда буду искать точную ссылку на рабочий профиль. Надеюсь её хрант где-то в открытую... Мдам. вот и поддерживай старое по внутренней разработки.




© OSzone.net 2001-2012