2012-01-28 12 views
15

Ale szukam kodu, który pozwoli każdemu użytkownikowi, który używa mojego pliku wsadowego, aby dostać się do ich dokumentów. Chodzi o to, że wpiszą 3, naciśnij enter, a następnie program otworzy folder "Moje dokumenty".Batch, aby otworzyć folder w folderze użytkownika (c: users nazwa_użytkownika moje dokumenty)?

Niestety, każdy użytkownik ma inną nazwę, więc poniższe polecenie nie będzie działać, dopóki nie będzie miało określonej nazwy.

%SystemRoot%\explorer.exe c:\users\James\My Documents 

Czy jest jakiś rodzaj zastępstwa dla "Jamesa"? Uniwersalne polecenie?

+0

To pytanie jest również zadawane przez ServerFault] (http://serverfault.com/questions/10938/finding-users-documents-folder-in-bat-script). [To jest najlepsza odpowiedź] (http://serverfault.com/a/185847/12770), która uwzględnia również użytkowników, którzy przenieśli specjalny folder Dokumenty. –

Odpowiedz

25

Można użyć zmiennej %UserProfile% środowiska, które wskazuje bezpośrednio do osobistego folderu zalogowanego użytkownika:

%SystemRoot%\explorer.exe %UserProfile%\My Documents 

-Jeśli używasz Windows 7 po prostu zrobić explorer% USERPROFILE% \ Documents (powinien pracować z innymi systemami Windows, ale nie próbowałem ...)

to dlatego, że każdy exe w root systemu może być używany jako polecenie i według mojej wiedzy większość wersji systemu Windows ma folder o nazwie "Documents" not "My Dokumenty "po prostu pojawiają się w ten sposób użytkownikowi (tak samo w przypadku muzyki itp.)

+2

Część "Moje dokumenty" nie jest naprawiona. Różni się w zależności od wersji systemu Windows i języka instalacji. – salva

+1

To nie działa niezawodnie. System Windows umożliwia użytkownikom przenoszenie folderu Moje dokumenty do innych miejsc, tak aby nie znajdował się bezpośrednio pod ich lokalizacją% UserProfile%. –