Batch file 批处理文件以读取其所在的根目录
是否有一个批处理命令可以读取根目录而不需要整个路径 我想要一个批处理文件来告诉我它是在Batch file 批处理文件以读取其所在的根目录,batch-file,Batch File,是否有一个批处理命令可以读取根目录而不需要整个路径 我想要一个批处理文件来告诉我它是在D:\还是E:\中 我尝试使用: set mypath=%cd% @echo %mypath% Pause 但是它只是说它所在的确切位置,而不仅仅是根目录。批处理文件所在的目录可能与当前目录cmd.exe不同 要获取批处理文件根路径,请使用: for %%a in ("%0") do echo %%~da 要获取当前目录,请使用 echo "%cd:~0,3%" 以下是一些选项,为您提供脚本当前目录的根目
D:\
还是E:\
中
我尝试使用:
set mypath=%cd%
@echo %mypath%
Pause
但是它只是说它所在的确切位置,而不仅仅是根目录。批处理文件所在的目录可能与当前目录cmd.exe不同 要获取批处理文件根路径,请使用:
for %%a in ("%0") do echo %%~da
要获取当前目录,请使用
echo "%cd:~0,3%"
以下是一些选项,为您提供脚本当前目录的根目录: 使用
PushD
/Popd
PushD\&调用集“RootDir=%%CD%%”&PopD
回显(%RootDir%)
暂停
对循环使用
对于(%CD%)中的%%A,请设置“RootDir=%%~dA\”
回显(%RootDir%)
暂停
使用变量展开
Set“RootDir=%CD:~,3%
回显(%RootDir%)
暂停
编辑
在再次阅读您的问题后,我决定添加第四个示例。与其他三个不同,这一个提供批处理文件位置的根目录
Set“RootDir=%~d0\”
回显(%RootDir%)
暂停
让我们不要忘记&REM技巧
@ECHO OFF
set "root=%cd:\="&rem %
echo %root%
我喜欢这个!:)
非常有魅力!谢谢!