2011-11-10 73 views
4

我看到很多例子使用%nx1來獲取傳入%1的文件的文件名。Dos批處理:如何從不是參數的變量中獲取文件名?

但是如果你有另一個變量設置與文件路徑,並希望以編程方式獲取從

文件名例如

@echo off 
SET MYPATH="c:\program files\myapp\somefile.ext" 
SET MYPATHFILE = ?? 

我試圖得到的只是「somefile.ext」。 我試圖用var名

%nxMYPATH 

更換1但是,這並不工作。

回答

3

您可以使用下面的行:

FOR /F %%I IN ("%MYPATH%") DO SET MYPATHFILE=%%~nxI 
+0

謝謝!這樣可行!現在很明顯......只是看不到它 – Dss

+0

這對任何人來說都是顯而易見的...對我們所處的困境說了很多。 – harpo

相關問題