[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理如何更改文件名字?

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

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

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
土土土土土土土土土土土

TOP

本帖最后由 ivor 于 2013-2-3 09:23 编辑
  1. rename
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

  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找不到的话也能正常运行下去?
有谁知道这代码错在哪里?
土土土土土土土土土土土

TOP

这个挺难的    祝你成功    xuexizhong

TOP

  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
1

评分人数

TOP

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

TOP

返回列表