2016-01-22 90 views
2

嗨我在批處理文件的變量中有完整的文件路徑。如何獲得其一級和二級父目錄路徑?獲取批處理腳本中特定路徑的父目錄

set path=C:\SecondParent\FirstParent\testfile.ini 
+0

%〜dppath%會工作嗎?我知道它適用於編號參數(%〜dp1)。它的第一個父目錄是 –

回答

3

爲此不使用變量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% 
+0

。但我也需要它授予父目錄。如何得到這個? – selvakumar

+0

@SelvakumarGurusamy - 檢查我的編輯。 – npocmaka

+1

您好都打印相同的值。 – selvakumar

2

作爲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% 
+0

是的,我明白了。感謝您的寶貴信息。 – selvakumar

相關問題