Как получить путь к пакетному скрипту в Windows?



Я знаю, что %0 содержит полный путь пакетного скрипта, например c:pathtomyfileabc.bat



Я path будет равна c:pathtomyfile



как я мог этого достичь ?

551   5  

5 ответов:

%~dp0 будет каталог. вот некоторые документы по всем модификаторам пути. Забавные вещи : -)

чтобы удалить последнюю обратную косую черту, вы можете использовать :n,m синтаксис подстроки, например:

SET mypath=%~dp0
echo %mypath:~0,-1%

Я не верю, что есть способ объединить %0 синтаксис с :~n,m синтаксис, к сожалению.

%~dp0 может быть относительный путь. Чтобы преобразовать его в полный путь, попробуйте что-то вроде этого:

pushd %~dp0
set script_dir=%CD%
popd

вы можете использовать следующий скрипт, чтобы получить путь без символа "\"

for %%i in ("%~dp0.") do SET "mypath=%%~fi"

что будет %CD% переменной.

@echo off
echo %CD%

%CD% возвращает текущий каталог, в котором находится пакетный скрипт.

Я работаю на машине с Windows 7, и я в конечном итоге использовал строки ниже, чтобы получить абсолютный путь к папке для моего сценария bash.

я добрался до этого решения, посмотрев на http://www.linuxjournal.com/content/bash-parameter-expansion.

#Get the full aboslute filename.
filename=
#Remove everything after \. An extra \ seems to be necessary to escape something...
folder="${filename%\*}"
#Echo...
echo $filename
echo $folder

Comments

    Ничего не найдено.