标题: [文件操作] 批处理如何遍历移动盘符,将其所有[320*240].3gp命名修改成.mp4? [打印本页]
作者: luosiping360180 时间: 2011-10-8 15:45 标题: 批处理如何遍历移动盘符,将其所有[320*240].3gp命名修改成.mp4?
其实之前一直都有开贴询问想关的问题:http://www.bathome.net/thread-13462-1-1.html,现在发现不是一下子可以解决,为方便查阅所以另开一贴(如版主不支持可删帖)
贴中10楼 awk 兄给出的代码【如下】,单张内存卡时,还是没有修改过来依旧是[320*240].3gp (用我的U盘测试可以成功修改)难道是判断可移动盘符不准确,求更有效准确的判断方法- @echo off
- setlocal enabledelayedexpansion
- 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 (
- if exist %%i: (
- if not exist "%%i:\System Volume Information\" (
- 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"
- )
- )
- )
复制代码
作者: luosiping360180 时间: 2011-10-8 16:31
请高手们指点下。。谢谢
作者: awk 时间: 2011-10-8 20:48
那个代码是通过检查盘符下面是否存在系统文件夹System Volume Information来判断移动盘符的,你看看内存卡所在盘符下面有没有这个文件夹吧。
作者: luosiping360180 时间: 2011-10-8 21:08
本帖最后由 luosiping360180 于 2011-10-8 22:03 编辑
用fsutil fsinfo drives 和 drivetype参数,识别出真正的可移动盘符,然后再运行修改的代码
查找了下,找到这个http://bathome.net/viewthread.php?tid=3569
修改成这样试用着- @echo off
- <%~fs0 more +10>%temp%\GetU.vbs
- for /f %%a in ('cscript /nologo "%temp%\GetU.vbs"') do (
- set "DriveU=%%a"
- )
- sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "%DriveU%\*[320×240].3gp"
-
-
- goto :eof
-
- ''''''''''''''''''''''''''''''''''''''''''''''''''''
- Set Fso = CreateObject("Scripting.FileSystemObject")
- Set B = Fso.Drives
-
- For Each A in B
- If A.DriveType = 1 Then
- aDisk = aDisk & A.DriveLetter & ": "
- End If
- Next
- aDisk = Replace(aDisk, "A: ","")
- WScript.Echo aDisk
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |