Я имею в виду получение последней части полного пути к каталогу, когда он исходит из cd
, он используется с for
и устанавливает все в одну строку.
При переходе из cd
путь выглядит примерно так: C:\a\b\c\d\
. Обратная косая черта усложняет ситуацию.
Это допустимо для одной строки в случае каталога без обратной косой черты (т. е. он не может исходить из cd
).
Это подходит для случая обратной косой черты, но не для одной строки.
Результат
> FOR %%a IN (`cd`) DO echo %%~pa
это \a\b\c\d\
и вывод
> FOR %%a IN (`cd`) DO echo %%~na
равно `cd`
(здесь я ожидал пустую строку).
Я думаю, мне следует объединить это с синтаксисом, таким как set MYDIR1=%MYDIR:~0,-1%
, и несколькими командами в одной строке, такими как command1 && command 2
. Целевой лайнер будет выглядеть примерно так
FOR %%a IN (`cd`) DO set MYDIR1=%MYDIR:~0,-1% && echo %%~nMYDIR1
и, возможно, используя tokens
и/или delims
, но я не мог заставить это работать.