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

[文件操作] 批处理如何遍历移动盘符,将其所有[320*240].3gp命名修改成.mp4?

其实之前一直都有开贴询问想关的问题:http://www.bathome.net/thread-13462-1-1.html,现在发现不是一下子可以解决,为方便查阅所以另开一贴(如版主不支持可删帖)

贴中10楼 awk 兄给出的代码【如下】,单张内存卡时,还是没有修改过来依旧是[320*240].3gp   (用我的U盘测试可以成功修改)难道是判断可移动盘符不准确,求更有效准确的判断方法
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%i in (c d e f g h i j k l m n o p q  s t u v w x y z) do (
  4.     if exist %%i: (
  5.         if not exist "%%i:\System Volume Information\" (
  6.             dir %%i:\*[320×240].3gp >nul 2>&1 && sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "%%i:\*[320×240].3gp"
  7.         )
  8.     )
  9. )
复制代码

请高手们指点下。。谢谢

TOP

那个代码是通过检查盘符下面是否存在系统文件夹System Volume Information来判断移动盘符的,你看看内存卡所在盘符下面有没有这个文件夹吧。

TOP

本帖最后由 luosiping360180 于 2011-10-8 22:03 编辑

用fsutil fsinfo drives 和 drivetype参数,识别出真正的可移动盘符,然后再运行修改的代码

查找了下,找到这个http://bathome.net/viewthread.php?tid=3569

修改成这样试用着
  1. @echo off
  2. <%~fs0 more +10>%temp%\GetU.vbs
  3. for /f %%a in ('cscript /nologo "%temp%\GetU.vbs"') do (
  4.   set "DriveU=%%a"
  5. )
  6. sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "%DriveU%\*[320×240].3gp"
  7.             
  8. goto :eof
  9. ''''''''''''''''''''''''''''''''''''''''''''''''''''
  10. Set Fso = CreateObject("Scripting.FileSystemObject")
  11. Set B = Fso.Drives
  12. For Each A in B
  13.     If A.DriveType = 1 Then
  14.        aDisk = aDisk & A.DriveLetter & ": "
  15.     End If
  16. Next
  17. aDisk = Replace(aDisk, "A: ","")
  18. WScript.Echo aDisk
复制代码

TOP

返回列表