嗨我在批处理文件的变量中有完整的文件路径。如何获得其一级和二级父目录路径?获取批处理脚本中特定路径的父目录
set path=C:\SecondParent\FirstParent\testfile.ini
嗨我在批处理文件的变量中有完整的文件路径。如何获得其一级和二级父目录路径?获取批处理脚本中特定路径的父目录
set path=C:\SecondParent\FirstParent\testfile.ini
为此不使用变量PATH。 %PATH%是命令提示符使用的内置变量。
@echo off
set "_path=C:\SecondParent\FirstParent\testfile.ini"
for %%a in ("%_path%") do set "p_dir=%%~dpa"
echo %p_dir%
for %%a in (%p_dir:~0,-1%) do set "p2_dir=%%~dpa"
echo %p2_dir%
。但我也需要它授予父目录。如何得到这个? – selvakumar
@SelvakumarGurusamy - 检查我的编辑。 – npocmaka
您好都打印相同的值。 – selvakumar
作为npocmaka正确地表明,挑从%PATH%
(或any of these other environment variables)一个不同的变量。其次,请确保您的脚本使用setlocal
以避免使用此脚本中的变量使控制台会话的环境变得枯燥。第三,只需为要导航的每个祖先添加一个\..
即可。无需打扰子字符串操作。
@echo off
setlocal
set "dir=C:\SecondParent\FirstParent\testfile.ini"
for %%I in ("%dir%\..\..") do set "grandparent=%%~fI"
echo %grandparent%
是的,我明白了。感谢您的宝贵信息。 – selvakumar
%〜dppath%会工作吗?我知道它适用于编号参数(%〜dp1)。它的第一个父目录是 –