标题: [文本处理] 批处理怎样获取变量中的文件名再改后缀? [打印本页]
作者: yjblfpl953 时间: 2010-6-6 22:55 标题: 批处理怎样获取变量中的文件名再改后缀?
如 set /p aaa= abc.txt
echo.%aaa%
echo.%aaa%.ini
首先我有二个文件 一个是abc.txt 另一个是abc.ini
再把abc.txt set /p aaa=abc.txt
打印出abc.txt echo.%aaa%
再打印出abc.ini 问题就在这里 我怎么只取%aaa%里的abc 而不是取全abc.txt
再把abc变成abc.ini打印出来 echo.abc.ini
怎样实现只取文件名,丢弃后缀
[ 本帖最后由 yjblfpl953 于 2010-6-6 23:04 编辑 ]
作者: hanyeguxing 时间: 2010-6-6 22:59
1,标题不符合规范
2,使用增强扩展:- for %%a in ("%aaa%") do echo.%%~a和%%~na和%%~na.ini
复制代码
3,如果%aaa%中只有扩展名里的一个点.,则可以使用分隔"delims=."来解析:- for /F "tokens=1* delims=." %%a in ("%aaa%") do echo.%%a.%%b和%%a和%%a.ini
复制代码
4,如果%aaa%中扩展名里有且只有4个字符,则可以使用截取字符串:- echo.%aaa%和%aaa:~0,-4%和%aaa:~0,-4%.ini
复制代码
5,如果扩展名为.txt,且文件名不是这个,则可以删除:- set b=%aaa:.txt=%
- echo.%aaa%和%b%和%b%.ini
复制代码
以上四种方法显示依次为:“文件名+.txt”和“文件名”和“文件名+.ini”
[ 本帖最后由 hanyeguxing 于 2010-6-6 23:22 编辑 ]
作者: yjblfpl953 时间: 2010-6-6 23:07
首先谢谢 寒夜孤星 的回复
文件名字符不定
但只有一个. 都是 .txt
作者: hanyeguxing 时间: 2010-6-6 23:18
上面不是给你列了常用的四种方法,你可以根据自己的需要选择
作者: yjblfpl953 时间: 2010-6-6 23:22
感谢 学习了
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |