CMD問:我想刪除文件名的擴展名。擺脫變量擴展(CMD)
它實際上是一個完整的路徑,如C:/Me/My/Path/filename.xxxx
我知道,延伸部具有4個字符,如示出的示例中的上方。
我該如何擺脫擴展名?
謝謝。
CMD問:我想刪除文件名的擴展名。擺脫變量擴展(CMD)
它實際上是一個完整的路徑,如C:/Me/My/Path/filename.xxxx
我知道,延伸部具有4個字符,如示出的示例中的上方。
我該如何擺脫擴展名?
謝謝。
在終端:
set file=C:/Me/My/Path/filename.1234
for /F "tokens=*" %A IN ("%file%") DO @echo variable ^%file^%: %~dpnA
在批處理文件:
@echo off
set file=C:/Me/My/Path/filename.1234
echo If called with path as batch parameter: %~dpn1
for /F "tokens=*" %%A IN ("%file%") DO echo variable %%file%%: %%~dpnA
這是卓有成效:
@echo off
set fullpath= C:/Me/My/Path/filename.xxxx
set withoutext=%fullpath:~0,-5%
echo %withoutext%
結果是:
c:\>test
C:/Me/My/Path/filename
在此示例腳本中,最後5個字符將從變量%fullpath%中刪除。
的語法如下解釋:http://www.computerhope.com/forum/index.php?topic=78901.0
如遇有延伸的長度未知的,這是行不通的。
ren C:/Me/My/Path/filename.xxxx filename.
這應該這樣做(最後的點是非常重要的「」)
有兩個問題:(。),這是否也刪除了點?和:我如何刪除三(123)? – 2009-12-14 16:32:31
和:這隻會改變我的變量,還是我不得不添加一些東西使其成爲一個變量? – 2009-12-14 16:33:22
你看到4硬編碼的任何地方?它刪除了最後一個。和之後的一切。它不會改變變量,改變它,用'set filenew = %%〜dpnA'設置 – Anders 2009-12-14 16:41:04