Mam skrypt wsadowy na dysku CD. Ilekroć próbuję go uruchomić i wpisać %~d0
, zwraca dysk C :, zamiast F :, który jest moim napędem CD.Jak uzyskać literę dysku, z której uruchamiany jest skrypt wsadowy?
Jaki jest sposób na znalezienie litery dysku?
Mam skrypt wsadowy na dysku CD. Ilekroć próbuję go uruchomić i wpisać %~d0
, zwraca dysk C :, zamiast F :, który jest moim napędem CD.Jak uzyskać literę dysku, z której uruchamiany jest skrypt wsadowy?
Jaki jest sposób na znalezienie litery dysku?
Get literę dysku z bieżącego katalogu z:
%cd:~0,2%
% ~ dp0 jest bardzo przydatna w nietoperza: jest to folder, w którym znajduje się plik bat wykonywania.
Być może na początku skryptu, zrób coś takiego:
set _SCRIPT_DRIVE=%~d0
set _SCRIPT_PATH=%~p0
a następnie powtórzyć go do debugowania. % ~ d0 powinno dawać ci to, czego chcesz, ale inne opcje, o których wspomniałem, mogą być pomocne w rozwiązaniu problemu.
Czy% cd% nie wskazuje ścieżki, z której wykonujesz _ wykonawcę? Jest zupełnie niedokładne, aby uzyskać właściwą ścieżkę pliku wsadowego. Na przykład wydaje się, że Windows XP ma dziwaczny błąd, który po przeciągnięciu i upuszczeniu pliku na program/skrypt, aby ten odrzucony plik był argumentem dla programu do wykonania, program zostanie w tajemniczy sposób uruchomiony z c: \ Documents and Settings katalog \\ (nazwa użytkownika) zamiast z własnego folderu. – Nyerguds
Wygląda na to, że zmienił się od XP, ale w Win7 wygląda na to, że uruchamia się ze ścieżki pliku parametrów ... co jest nadal błędne. – Nyerguds
Można użyć %~dp0
aby uzyskać bieżący katalog roboczy:/
%~d0
Jaka jest dokładna komenda, która używa '% ~ d0'? –