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