Czy linia poleceń systemu Windows obsługuje Linuksa „cd -”?

6

W Linuksie możemy użyć cd - aby wejść do poprzedniego katalogu, np .:

/home/user: cd /a

/a: cd -

/home/user:

The - oznacza ostatni poprzedni katalog.

Bin Chen
źródło

Odpowiedzi:

11

Możesz użyć pushd i popd:

c:\> pushd c:\windows
c:\Windows> popd
c:\>
danielkza
źródło
możesz też używać tych w systemach * nix, a nie ograniczają się tylko do „ostatniego katalogu”. wersje Windows mają również fajne efekty uboczne, takie jak automatyczne podłączanie udziałów sieciowych i tym podobne.
quack quixote
1
Tak, ale nie zapomnij o popd po tobie pushd to ścieżka UNC, w przeciwnym razie tymczasowy udział pozostanie w pobliżu :-)
Joey
2

Sam wiersz polecenia systemu Windows, nie ...

Ale jeśli jest to potrzebne / zainteresowane, możesz spróbować czegoś takiego Cygwin lub Msys , który pozwoli ci używać powłoki Linuksa w systemie Windows.

Nie jesteś pewien, czy tak naprawdę chcesz, ale może rozwiązać niektóre lub twoje problemy.

(Innym rozwiązaniem jest po prostu ... użyć Linuksa ^^)

Pascal MARTIN
źródło
1

Prosta notatka dla osób używających Cmder (Tak przy okazji, to naprawdę fajna alternatywa dla cmd.)

Używam aliasów dla interfejsu typu bash, coś takiego:

C:\Users\myname> cd test-dir
C:\Users\myname\test-dir> cd-
C:\Users\myname>

Możesz ustawić aliasy w %CMDER_ROOT%\config\user-aliases.cmd

cd=pushd . & cd $*
cd-=popd
Tura
źródło
0

Może byłbyś zainteresowany tym: https://gist.github.com/programus/2d2738b2a746140186f7738b678bdcec

Oczywiście, pushd / popd to świetna para komend, ale nie może się cofnąć, gdy wyskoczyłeś poprzedni.

Zrobiłem więc jedną partię, która mogłaby utrzymywać historię katalogów do przeskakiwania, ponieważ bardzo często muszę przeskakiwać między wieloma katalogami.

Oto pomoc:

cdx                 - display all saved path with leading id and name followed if any
cdx <path>          - save current path and jump to <path>
cdx :<n|name>       - jump to the Nth or named path in the saved list
cdx :               - jump to previous path
cdx <n>:<name>      - name the Nth path as <name>
cdx rm [:]<n|name>  - remove the Nth or named path from the list
cdx clear           - clear the list
cdx /help           - print out this help
cdx /?              - same as above

i przykłady

D:\>cdx "C:\Program Files"
C:\Program Files>cdx
[1] D:\

C:\Program Files>cdx d:\tmp
d:\tmp>cdx
[1] D:\
[2] C:\Program Files

d:\tmp>cdx t:\UsrTmp
t:\UsrTmp>cdx .
t:\UsrTmp>cdx
[1] D:\
[2] C:\Program Files
[3] d:\tmp
[4] t:\UsrTmp

t:\UsrTmp>cdx :2
C:\Program Files>cdx
[1] D:\
[2] C:\Program Files
[3] d:\tmp
[4] t:\UsrTmp

C:\Program Files>cdx rm 1
C:\Program Files>cdx
[1] C:\Program Files
[2] d:\tmp
[3] t:\UsrTmp

C:\Program Files>cdx name 3:tmp
C:\Program Files>cdx
[1] C:\Program Files
[2] d:\tmp
[3] t:\UsrTmp   <--<<< (tmp)

C:\Program Files>cdx :tmp
t:\UsrTmp>cdx :
C:\Program Files>
Programus
źródło