如何從這個字符串獲取文件名?從字符串路徑獲取文件名?
"C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"
輸出:
"test.txt"
我真的試圖找到這一個發佈前,但所有的結果被污染,他們談論從當前目錄獲取文件名(我必須只與字符串的工作)
如何從這個字符串獲取文件名?從字符串路徑獲取文件名?
"C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"
輸出:
"test.txt"
我真的試圖找到這一個發佈前,但所有的結果被污染,他們談論從當前目錄獲取文件名(我必須只與字符串的工作)
方法1
for %%F in ("C:\Documents and Settings\Usuario\Escritorio\hello\test.txt") do echo %%~nxF
類型HELP FOR
欲瞭解更多信息。
方法2
call :sub "C:\Documents and Settings\Usuario\Escritorio\hello\test.txt"
exit /b
:sub
echo %~nx1
exit /b
更多信息類型HELP CALL
。
請,你能解釋「%〜nx1」嗎? –
@Yukulélé - 它修改'%1'的擴展,將其視爲文件路徑並擴展名稱和擴展名,忽略驅動器和路徑。請在命令提示符下鍵入HELP CALL或CALL /?以獲取有關所有參數擴展修飾符的更多信息。 – dbenham
謝謝,我在這裏找到更多的細節http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true –
假設你需要在「C:\ TEMP」下的文件的名稱目錄樹(包括子目錄):
FOR /R c:\temp %i in (*.*) do echo %~nxi
如果路徑是作爲一個參數,只需使用:
%〜NX1(1爲第一個參數,我們想這是第一個)
呼應%〜NX1將直接test.txt的
我只是需要我自己很糟糕,對於那個特定的情況(作爲參數),它更短更優雅。 – stormofwar
'cd'返回到該目錄,鍵入'DIR/B' – Marc
@Marc th在字符串被創建一個循環,我認爲訪問200-300 dirs是不明智的。我真的必須只工作字符串,但感謝替代 – ajax333221
請參閱我的新答案 – Marc