2014-11-22 3 views
3

회사의 컴퓨터를 관리하는 데 필요한 많은 작업을 스크립트로 작성합니다. 자주 GPO없이 사용자의 개인 시작 폴더에 바로 가기를 추가해야합니다.시작 폴더 만들기 - Windows

Windows 8/8.1에는 기본적으로 개인 시작 폴더가 없습니다.
그 위치는이 폴더를 쉽게 만들 수 있습니다 C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\

이지만 이름이 (그렇지 않으면이 표시됩니다 "시작"어떤 언어) 지역화하는 것이 올바른 내용으로, 그것으로 desktop.ini 파일이 필요합니다 .

이 폴더를 만드는 "공식적인"방법은 무엇입니까?
또는 뭔가를 공식적으로 추가하는 방법은 무엇입니까?
저는 PowerShell이나 배치 명령을 선호하지만 신뢰할만한 평균은 괜찮습니다.

답변

4

난 당신이 특별한 폴더에 대한 ComObject으로 뭔가를 할 수 같아요에 내가 실행 상자에 shell:startup을 입력하면, 그런데

$startup = (New-Object -ComObject Shell.Application).NameSpace(0x07) 

(승리 + R) 내 Win 8.1 시스템에서는 개인 시작 폴더 (C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)로 안내합니다.

+1

Win8 및 Win2012 사용자는 프로그램이 만들 때까지 시작 폴더가 없습니다 (또는 미리 이미지/사전 설치되어 있지만 재고 Windows에서는 시작 폴더가 없음). 이 경우 셸 : 시작으로 아무데도 연결되지 않고 폴더가 만들어지지 않습니다. –

+1

당신이 준 명령은 완벽하게 작동합니다. Win8 및 Win2012에서 테스트되었습니다. 시작 폴더가 없으면 즉시 시작됩니다. 많은 감사합니다! –

2

내가 아는 한, 신뢰할 수있는 방법이 없습니다.

[environment]::getfolderpath("Startup")으로 경로를 가져올 수 있지만 폴더를 작성한 경우 반환되는 문자열은 비어 있습니다. 그리고 그것을 만들 API 항목을 모르겠습니다.

그래서 수동으로 만들어야합니다 : 이전 명령 (예, 바로 작성하는 경우, 당신은 바로 가기) 아무것도 반환
  • 이 자신에게 시작 폴더를 만들

    1. 확인합니다. (이 바로 이곳입니다 만약 내가 확인하지 않았다. [environment]::getfolderpath("Startup")을 올바른 값을 반환해야합니다) [environment]::getfolderpath("StartMenu")를 사용하여 경로를 \startup를 추가
    2. 하고있는 Desktop.ini 파일을 만들고 그것을
    3. 자신을 채우고 레지스트리 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders를 업데이트

    는 UPDATE : 난 그냥 (의 dwFlag) 필요한 경우 필요한 폴더를 만들 수 SHGetKnownFolderPath API를 발견했다. PowerShell이 ​​좋지 않아서 어떻게 호출해야할지 모르겠다. 어쩌면 누군가가 더 나은 대답을 줄 수 있습니다.

  • +1

    SHGetKnownFolderPath는이를 수행하는 올바른 방법이라고 생각됩니다. PowerShell에서 사용하려고하지만 어떻게 찾지는 못합니다. 나는 새로운 질문을 열어야한다고 생각한다. –