Список каталогов в стеке - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь составить список каталогов, которые были добавлены в стек каталогов, с помощью команды: pushd

Я не могу найти никаких ссылок или команд для печати содержимого стека каталогов.

Любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

A pushd без параметров выводит список скомпонованных каталогов.

pushd c:\
pushd windows
pushd help
pushd windows
pushd en-us

pushd

Будет выводить

c: \ Windows \ Help \ Windows
c:\ Windows \ Help
c: \ Windows
c: \
c: \ Temp

Последний отсутствующий каталог здесь отсутствует, но может быть просто получен с помощью %__CD__%.

И есть еще один каталог (в моем случае C:\temp), так как он будет каталогом после последнего выполненного popd.

0 голосов
/ 22 мая 2018

Хороший вызов. Как уже отмечалось, кажется, что нет встроенного способа получения этой информации, поэтому вам необходим скрипт, чтобы сделать это шаг за шагом:

@echo off
setlocal enabledelayedexpansion
set origin=%cd%

rem build a demo stack:
pushd c:\
pushd windows
pushd help
pushd windows
pushd en-us

rem get stack step by step:
set i=0
:loop
  popd && (
    set /a i+=1
    echo !i! --- %cd%
    set "p[!i!]=%cd%"
   ) || (
    goto :TopOfStack
   ) 
goto :loop

:TopOfStack
echo stack empty.
cd %origin%
rem restore stack:
set p[
for /l %%i in (%i%,-1,1) do (
  pushd "!p[%%i]!"
)

Примечание: см.также ответ jeb .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...