Java Obter Caminho De Uma Pasta (Inicializar do Windows)

Olá, estou querendo saber como posso fazer em Java para obter o caminho da pasta inicializar do Windows, tenho um programa que ao ser executado ele deverá colocar um .bat na pasta inicializar do Windows, o bat é criado com sucesso, mas utilizando o seguinte para obter o caminho da pasta não está funcionando:

%AppData%\Microsoft\Windows\Start Menu\Programs\Startup<code>

Se colocado no cmd com o comando cd %AppData%\Microsoft\Windows\Start Menu\Programs\Startup</code> entra na pasta inicializar do Windows normalmente, mas no programa diz que o diretório não foi encontrado.

Segue o código que estou usando:

String arq = "%AppData%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\"; if (!new File(arq).exists()) { try { FileWriter gerar; //"%AppData%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup\\iniciar.bat gerar = new FileWriter(new File(arq)); gerar.write(comando); gerar.close();
            JOptionPane.showMessageDialog(null, "Arquivo .bat gerado com sucesso!");
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

Se for colocado outra pasta é gerado com sucesso, o problema é como obter o caminho da pasta inicializar do Windows, alguém sabe como posso obter este caminho ?

Você precisa antes conseguir o valor da variável %AppData%
Da seguinte forma:

File arq = new File(System.getenv("AppData"), "Microsoft/Windows/Start Menu/Programs/Startup";
if (!arq.exists()) {
...

Opa obrigadão cara, resolveu o problema agora está obtendo o caminho do inicializar corretamente.