Potrzebuję pomocy w napisaniu pliku wsadowego. Mam ścieżkę przechowywaną w zmiennej głównej w następujący sposób:
set root=D:\Work\Root
Następnie zmieniam katalog roboczy na ten katalog główny w następujący sposób:
cd %root%
Kiedy uruchamiam ten plik wsadowy z dowolnego miejsca na dysku D, kończy się to pomyślnie. Ale kiedy wykonuję ten sam plik wsadowy z innego dysku, cd% root% nie działa.
Czy istnieje sposób, aby uzyskać literę dysku ze zmiennej głównej? Następnie mogę najpierw zmienić bieżący katalog na ten dysk, a następnie powinien zadziałać cd% root%.
batch-file
directory
command-prompt
drive
Ananya
źródło
źródło
\d
(małymi literami), czy istnieje różnica między nimi? Czy w opcji jest rozróżniana tylko wielkość liter?/D
powyżej, nie uwzględniają wielkości liter (/D
=/d
), tak jak same polecenia (CD
=cd
). Wierzę, że jest również prawdziwe dla wszystkich zewnętrznych narzędzi wiersza polecenia systemu Windows (takich jakFINDSTR
,SORT
itp) narzędzi innych firm, z drugiej strony, można użyć parametrów wielkość liter.set "root=/d D:\Work\Root"
acd %root%
nawetset "root=cd /d D:\Work\Root"
i po prostu%root%
Po prostu użyj,
cd /d %root%
aby zmienić litery sterowników i zmienić katalogi.Alternatywnie użyj
pushd %root%
do przełączania liter dysków podczas zmiany katalogów, a także do przechowywania poprzedniego katalogu na stosie, aby można było użyć gopopd
do przełączenia się z powrotem.Zauważ, że
pushd
pozwoli ci to również zmienić katalogi na udział sieciowy. W rzeczywistości zmapuje dla ciebie dysk sieciowy, a następnie usunie go, gdy wykonaszpopd
dla tego katalogu.źródło
Spróbuj tego
Ciesz się rootowaniem;)
źródło
Mogłaby być prostsza składnia
pushd% root%
źródło