2011-09-29 453 views
0

我想在運行一些文件擴展名的shell命令(在它的上下文菜單)時,只得到文件名(沒有完整路徑)只接收文件名 它可能是在以某種方式進行註冊表,在HKCR下的文件擴展名中。 %1%l%L中的任何一個都會提供完整路徑。我想只有文件名在shell命令

感謝


的想法是好的,但我不能讓它工作

我創建的文件 - GetFileName.bat 我把它放在某個地方,這是在%path%

它看起來像: @set Ret="%~n1"

和在註冊表中,我把下面的命令

cmd /k GetFileName "%L" & hh.exe -decompile extracted %Ret%

這意味着: *運行這個 - 用GetFileName 「%L」 *和則 - HH.EXE -decompile提取%懲戒%

%Ret%不給我用GetFileName的結果,儘管它包含了環境變量懲戒正確的值。

我想它不會在註冊表中允許使用這個環境變量,因爲它是在同一條直線

回答

0

可以使用%~n修飾符來提取路徑的文件名的腳本參數,但它似乎沒有認識到其他環境varaibles,所以你必須把它塞進一個單獨的批處理文件:

getext.bat:

@set Ret=%~n1 

然後

C:\> getext hello.bat 
C:\> echo %Ret% 
hello