MasterGamerFX Ответов: 2

Удаление последней обратной косой черты с помощью filename.exe в партии


у меня есть путь:
C:\Windows\System32\regsvr32.exe

и я хочу удалить последнюю обратную косую черту с помощью "regsvr32.exe"
это должно быть так

C:\Windows\System32

я не хочу использовать этот код:

set "path=C:\Windows\System32\regsvr32.exe"
if "%path%:~-1" EQU "\" set "path=%path:~0,-1%"
echo %path%
pause


Что я уже пробовал:

я пробую много комбайнов но безуспешно

2 Ответов

Рейтинг:
2

MadMyche

@echo off
setlocal enabledelayedexpansion enableextensions

set myPath=C:\efi\Boot\bootx64.efi
call :file_name_from_path result !myPath!
echo %result%
goto :eof

:file_name_from_path <resultVar> <pathVar>
(
    set "%~1=%~dp1"
    exit /b
)

:eof
endlocal

На основе информации, найденной на S/O
Как получить путь к папке из пути к файлу с помощью CMD - Stack Overflow[^]


Рейтинг:
0

MasterGamerFX

хорошо и я хочу извлечь из C:\efi\Boot\bootx64.efi
я хочу извлечь только ботинок
как это сделать

MasterGamerFX

если бы нашли код

@echo off
Для %%в в ("c:\test\pack\a.txt") сделать %%B в ("%%~\ДПА".) сделать набор "родитель=%%~NXB по"
Эхо %родитель%
пауза

но я не использую для этого цикл for
как можно использовать этот код без цикла "for"?

Mohibur Rashid

Привет, я не очень хорошо разбираюсь в партии. Во всяком случае, чтобы получить каталог, используйте первый и эквивалент команды basename

Я не думаю, что есть лучшее решение, чем это. Но я не уверен, что предлагает powershell.