example - windows bat教程




如何在Windows中获取批处理脚本的路径? (4)

%~dp0可能是相对路径。 要将其转换为完整路径,请尝试如下所示:

pushd %~dp0
set script_dir=%CD%
popd

我知道%0包含批处理脚本的完整路径,例如c:\path\to\my\file\abc.bat

我会path等于c:\path\to\my\file

我怎么能做到这一点?


%~dp0将成为目录。 以下是关于所有路径修饰符的一些文档 。 好玩的东西 :-)

要移除最后的反斜杠,可以使用:n,m子字符串语法,如下所示:

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

不幸的是,我不相信有一种方法可以将%0语法与:~n,m语法结合起来。


我正在使用Windows 7机器,并且我已经结束了使用以下几行来获取我的bash脚本的绝对文件夹路径。

在查看http://www.linuxjournal.com/content/bash-parameter-expansion后,我找到了这个解决方案。

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

这将是%CD%变量。

@echo off
echo %CD%

%CD%返回批处理脚本所在的当前目录。







batch-file