Autor Wątek: Zmienne środowiskowe - LOCALAPPDATA  (Przeczytany 2409 razy)

Offline maro

  • Użytkownik

# Październik 10, 2013, 16:49:05
Witajcie,
mam jedną apkę, którą chcę odpalić jako portable. W tym celu musiałbym podmienić jej ścieżkę do C:\Users\maro\AppData\Local na jakąś inną (czyli zmienna środowiskowa LOCALAPPDATA).

Jak to najłatwiej zrobić?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Xender

  • Użytkownik

# Październik 10, 2013, 17:09:31
W *nixowych shellach poprzedza się komendę przypisaniem do zmiennej:

VARNAME=value commandNie wiem, czy to działa w cmd. Jak nie, to

set VARNAME=value
command

A ogólnie to RTFM https://duckduckgo.com/?q=windows+shell+environmental+variable
« Ostatnia zmiana: Październik 10, 2013, 17:11:03 wysłana przez Xender »

Offline Xion

  • Redaktor
    • xion.log

  • +1
# Październik 10, 2013, 23:23:50
@up: Powyższe należy oczywiście wrzucić do pliku .bat lub .ps1.

Offline maro

  • Użytkownik

# Październik 11, 2013, 10:27:58
Oczywiście w pierwszej kolejności próbowałem ustawić tę zmienną poprzez set w pliku bat, ale to nic nie dało. Następnie odpalałem tę apkę poprzez createProcess i ustawiałem env - i też nic.
Czyli apka pewnie nie używa zmiennych środowiskowych.

Później obejrzałem źródła - apka napisana jest w Qt i korzysta z funkcji QStandardPaths::writableLocation
http://api.kde.org/extragear-api/pim-apidocs/trojita/html/qstandardpaths__win_8cpp_source.html
a tam z funkcji
SHGetSpecialFolderPath(0, path, CSIDL_LOCAL_APPDATA, FALSE)
Z czystej ciekawości chciałbym wiedzieć, jak to jest zrobione w launcherach do aplikacji portable.