我知道%0包含批处理脚本的完整路径,例如c:\path\to\my\file\abc.bat
我将path设为c:\path\to\my\file
我怎么才能做到呢?
我知道%0包含批处理脚本的完整路径,例如c:\path\to\my\file\abc.bat
我将path设为c:\path\to\my\file
我怎么才能做到呢?
当前回答
这将是%CD%变量。
@echo off
echo %CD%
%CD%返回批处理脚本所在的当前目录。
其他回答
这将是%CD%变量。
@echo off
echo %CD%
%CD%返回批处理脚本所在的当前目录。
%cd%将提供脚本运行所在目录的路径。
运行:
echo %cd%
%~dp0可能是一个相对路径。 要将其转换为完整路径,可以尝试这样做:
pushd %~dp0
set script_dir=%CD%
popd
您可以使用以下脚本来获取路径,而不需要以“\”结尾。
for %%i in ("%~dp0.") do SET "mypath=%%~fi"
您可以使用%~dp0, d表示仅用于驱动器,p表示仅用于路径,0是批处理文件的完整文件名的参数。
例如,如果文件路径是C:\Users\Oliver\Desktop\example.bat,那么参数将等于C:\Users\Oliver\Desktop\,你也可以使用命令set cpath=%~dp0 && set cpath=%cpath:~0,-1%,并使用%cpath%变量删除后面的斜杠。