2013-07-01 52 views
0

我想要走完整路徑file並列出過去兩年parent directories在批處理腳本絕對路徑提取目錄/子目錄名

如:

\\publicshare\products\apps\123.456\OSfile 

我想提取123.456OSfile在我的批處理腳本中。

+0

問題必須證明對所解決問題的最小理解。告訴我們你試圖去做什麼,爲什麼它沒有工作,以及它應該如何工作。另請參見:[堆棧溢出問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist) – devnull

回答

4
SET MYPATH=\publicshare\products\apps\123.456\OSfile 

for %%i in ("%MYPATH%") do SET FIRST=%%~nxi&SET MYPATH=%%~dpi 
SET MYPATH=%MYPATH:~0,-1% 
for %%i in ("%MYPATH%") do SET SECOND=%%~nxi 

echo %FIRST% -- echoes OSFile 
echo %SECOND% -- echoes 123.456 

第一FOR語句中提取的文件名+分機(%%〜NXI),然後設置mypath中的路徑(盤符+路徑)的其餘部分。

「SET MYPATH =%MYPATH:〜0,-1%」刪除尾隨的反斜槓。

第二個FOR語句從MYPATH中提取最後一個元素,該元素現在是目錄。

+0

無需修改MYPATH的值。只需使用'for %% i in(「%MYPATH%\ ..」)設置「SECOND = %%〜nxi」' – dbenham

+0

@dbenham,這就夠了,皮膚上有不止一種方法。 – Joe

相關問題