dos環境下獲取完整路徑中的檔名

2021-05-23 11:13:00 字數 691 閱讀 5207

折騰了大半個晚上,總算找著了這個問題的解決方案。

答案看上去是非常簡單的,只要對dos命令略有研究的人應該很容易想到,可是對於我這樣頭次正面接觸dos的人而言,可是花了九牛二虎之力!

要從乙個完整的路徑,比如/a/b/c/d/name.txt中獲得其中的name.txt欄位,其實只需要用到call 或for 命令獨有的引數解析功能即可。我自己用的是call命令,如下所示:

rem:full_name是完整路徑,name是所要提取的檔案名字段

call :getname %full_name

:getname

set name=%~n1

看上去非常簡單,對於call和for命令而言,可以將輸入給它們的引數做一些特殊的解析。對該功能的演示有更好的例子:

@echo off

set/p filepath=請輸入你的完整路徑:

if not defined filepath goto :eof

for,/f,"tokens=*",%%i,in,(%filepath%),do,(

set a=%%~di

set b=%%~pi

set c=%%~nxi )

echo %a%

echo %b%

echo %c%

pause

該批處理例子示範了如何從乙個輸入的完整路徑名,分別取得碟符、目錄和檔名。

C 獲取當前程序(程式)的完整路徑備忘

獲取當前程序的完整路徑,包含檔名 程序名 string str this.gettype assembly.location result x exe exe檔案所在的目錄 exe檔名 獲取新的 process 元件並將其與當前活動的程序關聯的主模組的完整路徑,包含檔名 程序名 string str...

php檔案建立路徑 從PHP中的完整路徑建立檔案樹

我正在嘗試從完整路徑字串製作某種檔案樹.這就是我使用的php類給我的 rootfolder folder1 file1.doc rootfolder folder1 subfolder1 file1.txt rootfolder folder2 subfolder1 file2.txt rootfo...

Java中獲取classpath路徑下的資源檔案

classloader提供了兩個方法用於從裝載的類路徑中取得資源 public url getresource string name public inputstream getresourceasstream string name 這裡name是資源的類路徑,它是相對與 根路徑下的位置。get...