Onde está% PUBLICDOCUMENTS%? (shell: documentos comuns)?

1

Eu preciso de uma expansão que forneça a localização atual de documentos públicos. %PUBLIC% se expande para C: \ Users \ Public, mas não encontrei nenhum equivalente para documentos públicos.

%PUBLICDOCUMENTS% , %COMMONDOCUMENTS% e %SHAREDDOCUMENTS% não são reconhecidos pelo Windows 7. Minha pasta de documentos públicos geralmente não está em% PUBLIC% \ Documents, portanto, não posso usar isso.

Existe algum que eu possa usar? (Existe uma lista completa em algum lugar? Executar o set na linha de comando não mostra %PUBLIC% e sei que existe. Há outros que não apresentam set ?)

    
por jnm2 15.08.2011 / 14:29

1 resposta

1

Não há variável de ambiente para documentos comuns. Eu acho que você tem duas opções:

  1. Crie uma variável e defina o valor manualmente
  2. Você descobre isso dinamicamente quando o arquivo de lote está em execução (eu recomendaria isso)

Para a opção 1 , basta criar uma variável e definir o valor como C:\Users\Public . Veja esta questão para mais detalhes sobre variáveis de ambiente.

Para a opção 2 , basta ler o valor do valor do registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Documents para uma variável e usá-la.

Aqui está o comando para fazer isso (fonte: link )

FOR /F "tokens=3*" %%A IN ('REG.EXE QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /V "Common Documents" 2^>NUL ^| FIND "REG_SZ"') DO SET CommonDocs=%%B

Saída:

    
por 15.08.2011 / 19:05