48

I recently followed some instructions to reset GitHub for Windows by deleting two folders found within %AppData% and %LocalAppData%, and I've seen these paths before, but never understood them, and searching for them didn't yield the information I wanted to find.

What does the percent sign mean in file paths on Windows, as opposed to navigating to C:\Users\etc, and what are the folders %AppData% and %LocalAppData%?

2

6 Answers 6

35

%WORD% is how cmd.exe, and Windows in general, does variables, so %AppData% is the variable name for the Application Data directory.

$ echo The value of ^%AppData^% is %AppData%
   The value of %AppData% is C:\Users\USERNAME\AppData\Roaming
7
  • 9
    More specifically, they are environment variables, accessible via cmd.exe's set command. Each process either has an environment consisting of variables or inherits one from a parent process. Good information here: en.wikipedia.org/wiki/Environment_variable
    – LawrenceC
    Commented Aug 16, 2013 at 22:19
  • 2
    Wow, they don't even use \ for escaping? Why does Windows command line have to be different in every conceivable way? Commented Apr 27, 2016 at 16:18
  • 7
    @Aerovistae How could it reliably use \ for escaping when \ is the path separator? Commented Apr 27, 2016 at 17:07
  • Also, Windows is old. Using `\` to escape characters wasn't as much of a standard back then.
    – Yay295
    Commented Aug 27, 2018 at 20:51
  • 1
    @Ruslan 1985, actually, for Windows 1.0 Not that more than three people (and two of them MS employees) actually used it. Win 3.0 was released in 1990 and 3.1 a bit later. That's when it became popular/widely used. Certainly Unix predates even that by quite a bit, but Windows was built atop MS-DOS which was built atop a CP/M variant, not Unix. Commented Mar 12, 2021 at 16:23
18

%AppData% is a hidden folder in Windows 7. It is to protect user data and settings from any unwanted change or deletion. It contains many important data such as: program settings, IE cookies, IE browsing history, temporary files created by applications, etc.

%LocalAppData% this is %USERPROFILE%\AppData\Local. For example: C:\Users\<Username>\AppData\Local.

See also (KNOWNFOLDERID) from MSDN.

10

Like the others have said, the % symbols around %AppData% indicate it is an environmental variable.

These two are predefined paths that vary by Windows edition.

From Vista onward, %AppData% points to %UserProfile%/AppData/Roaming (I think you can guess what %UserProfile% is, or just test it out for your self in Explorer). This folder contains user specific, program related data, or even the programs themselves.

The items in here should roam with the user to different machines. How profiles roam was more apparent to users in a Domain environment who used the same credentials on different company machines. But now that Windows 8 utilizes the cloud and a Microsoft Account for login, this feature should become more apparent to users with multiple machines.

I'm not sure this folder is always used correctly. Google Chrome, for example, will store gigabytes of data in it. Other programs might use it to store items like MyLayoutSettings.cfg, to have some consistency among settings across to different machines. I think this is a more "correct" way to use the folder.

%LocalAppData% (%UserProfile%/AppData/Local) is used for user-specific items that should not roam with the user, either because they only pertain to that particular machine, or because they are too large. For a good example of how this location can be used, take a look at %LocalAppData%/Temp.

7

The AppData\Local and AppData\Roaming locations are the preferred locations for applications to store data that is not required to be exposed to the user. In a domain environment, the Roaming is used to copy the user's environment as they log on to different computers.

You can find a description in the Windows File System Namespace Usage Guidelines.

0
4

Just enter %AppData% or %LocalAppData% in the address bar of Windows Explorer and it will take you to the folders.

As others explained, these are environmental variables which can be listed at the Windows command prompt using the SET command.

3

As other answers have mentioned, AppData is a hidden Windows folder typically used by programs to store data and settings. While this is true, it's not the folder's only use.

While traditionally most Windows programs install to Program Files, some will install to %AppData% instead. This includes apps like Gitter Discord, f.lux, and yes, GitHub Desktop for Windows.

This is usually because, unlike Program Files, an app can install to AppData without administrator privileges, since the folder is not shared among multiple users.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .