Board logo

标题: [文件操作] [已解决]批处理如何更改文件名字? [打印本页]

作者: 珠七七    时间: 2013-2-2 11:32     标题: [已解决]批处理如何更改文件名字?

本帖最后由 珠七七 于 2013-2-6 20:29 编辑

新手求助。
我想把硬盘里的歌整理一下,发现有些歌名和歌手的位置倒乱了。
比如说:男人哭吧不是罪-刘德华.mp3
现需要建一个批处理,可以打开这个批处理窗口,等待操作。一但把错误的歌拉到这个批处理上,就自动读取名字,把名字更改为:刘德华-男人哭吧不是罪.mp3
我自己主要是对for命令不熟悉,所以请教一下各位,麻烦各位高手为我编一下这个批处理。十分感谢!
作者: Demon    时间: 2013-2-2 11:42

http://bbs.bathome.net/thread-2189-1-1.html
作者: ivor    时间: 2013-2-2 13:51

本帖最后由 ivor 于 2013-2-3 09:23 编辑
  1. rename
复制代码

作者: 珠七七    时间: 2013-2-3 01:40

  1. @echo off
  2. set name1=%~n1
  3. set name2=%~x1
  4. echo %name1%>1.txt
  5. for /f "tokens=1,2 delims=-" %%i in (1.txt) do echo %~n1%~x1 %%j-%%i%~x1
  6. pause
复制代码
这个代码运行中有些问题:
1.echo %name1%>1.txt  结果没有生成1.txt。
2.echo %~n1%~x1 %%j-%%i%~x1 结果显示正常,如:迷宫-王若琳.mp3 王若琳-迷宫.mp3,但把echo改为ren就提示:系统找不到指定的文件。
3.for /f "tokens=1,2 delims=-" %%i in (1.txt) do echo %~n1%~x1 %%j-%%i%~x1直接用这句,不要上面的的,结果也是一样。1.txt找不到的话也能正常运行下去?
有谁知道这代码错在哪里?
作者: ym04020426    时间: 2013-2-4 09:19

这个挺难的    祝你成功    xuexizhong
作者: BAT-VBS    时间: 2013-2-4 11:46

  1. @echo off
  2. for /f "tokens=1,2 delims=-" %%i in ("%~n1") do (
  3.     echo ren "%~f1" "%%j-%%i%~x1"
  4.     ren "%~f1" "%%j-%%i%~x1"
  5. )
  6. pause
复制代码
代码保存为test.bat
男人哭吧不是罪-刘德华.mp3拖放到test.bat
作者: 珠七七    时间: 2013-2-6 20:28

BAT-VBS,
这个批处理的确可以实现。谢谢!




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2