**已关闭。**此问题正在寻求书籍,工具,软件库等的建议。它不符合Stack Overflow guidelines。目前不接受答案。
我们不允许您提问有关书籍、工具、软件库等方面的建议。您可以编辑问题,以便您可以通过事实和引用来回答问题。
6天前关闭。
Improve this question
我正在编写一个批处理文件来转换音乐文件,并将文件名保存在变量中。下面是几个例子:David Bowie - Space Oddity.mp3
或者David Bowie - Greatest Hits - Space Oddity.mp3
我想编辑变量,使其只包含曲目名称Space Oddity
。因此,我需要从末尾向后搜索,直到第一次出现{Hyphen}{Space}
,并丢弃它之前的所有内容,(因为变量可能包含多个连字符)。
请你建议一些批处理代码来实现这一点?
3条答案
按热度按时间tvokkenx1#
我认为这是最简单的方法:
5kgi1eie2#
第一个
for
删除扩展;第二个将每个-
修改为.
,然后抓取扩展,最后的set
删除前导.
。所有这些都基于
for /?
从提示符-使用字符串作为文件名,并使用构成文件名的各个部分(驱动器,路径,名称和扩展名)的标准解释。tv6aics13#
您可以使用更完整的脚本语言,例如PowerShell:
示例:
如果您希望子字符串被重新传播到变量名中,则使用
FOR /F
循环。示例: