co.de.mon.key

Weblog

Windows - uruchamianie skryptu bat / cmd jako administrator - problem aktualnej ścieżki wywołania

| Comments

W nowych wersjach systemu Windows (8 i 8.1 na pewno, we wcześniejszych nie testowałem) zmienił się katalog wywołania skryptów uruchamianych jako administrator. Domyślnie zamiast katalogu bieżącego jest to:

%SYSTEM%

czyli na przykład

C:\Windows\system32

Aby przywrócić funkcjonalność starych skryptów można zastosować na początku przejście do katalogu wywołania:

1
2
setlocal enableextensions
@cd /d "%~dp0"

gdzie:

@setlocal enableextensionsumożliwia dostęp do rozszerzenia CMD

Ponieważ: %0 to pełna ścieżka do wywoływanego programu (skryptu)

to:

@cd /d "%~dp0" – przejście do katalogu wywołania, wykorzystujące dodatkowe zmienne skryptowe

%0 to standardowo nazwa pliku (skryptu) wykonywalnego wraz ze ścieżką, a ~dp wyciągnięcie z niej litery dysku oraz samej ścieżki do katalogu.

Źródło

Comments