标题: [文件操作] [已解决]怎样搜索所有移动盘并根据条件修改文件扩展名? [打印本页]
作者: luosiping360180 时间: 2011-7-29 17:37 标题: [已解决]怎样搜索所有移动盘并根据条件修改文件扩展名?
修改文件扩展名,因为有同类的1000多个(例如:72家租客[320×240].3gp)需要修改成:72家租客.mp4,文件夹中可能还含有3GP为扩展名的文件,所以向高手指教下
目标 一、能不能搞成当具有[320×240]和.3gp二个条件时才修改成.MP4
目标二、路径可以任意目录下?或者用户输入某盘符(如C:)就将此盘符下(包括子目录)符合上述目标一条件进行修改扩展名。
目标三、因为下载给人家后,在各个移动盘下都是[320×240].3gp文件,能不能搞成搜索所有移动盘并根据条件修改文件扩展名?望高手指点下,本人在10楼贴出的代码不能成功执行。
关键代码版主已经在7楼贴出代码
作者: cjiabing 时间: 2011-7-29 18:23
高难度!
作者: luosiping360180 时间: 2011-7-29 19:07
本帖最后由 luosiping360180 于 2011-7-29 19:22 编辑
回复 4# tmplinshi
首先,谢谢大家的回复,由于上面描述不够清楚,目标为
目标 一、能不能搞成当具有[320×240]和.3gp二个条件时才修改成.MP4
目标二、路径可以任意目录下?或者用户输入某盘符(如C:)就将此盘符下(包括子目录)符合上述目标一条件进行修改扩展名。
作者: lxzzr 时间: 2011-7-29 19:18
回复 5# luosiping360180
你就不能一次性将问题讲清楚?
作者: tmplinshi 时间: 2011-7-29 19:20
本帖最后由 tmplinshi 于 2011-7-29 19:50 编辑
目标 一、能不能搞成当具有[320×240]和.3gp二个条件时才修改成.MP4
目标二、路径可以任意目录下?或者用户输入某盘符(如C:)就将此盘符下(包括子目录)符合上述目标一条件进行修改扩展名。
luosiping360180 发表于 2011-7-29 19:07
- sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "C:\*[320×240].3gp"
复制代码
sren 下载地址:
http://bathome.net/thread-13442-1-1.html
作者: luosiping360180 时间: 2011-7-29 19:42
谢谢tmplinshi 版主,上面代码"C\*[320×240].3gp"改成"\*[320×240].3gp",目录下测试成功!!
版主,能不能搞成用户可输入盘符,然后输入的盘符下的符合目标一的修改扩展名吗?这个对U盘等操作方便。
作者: tmplinshi 时间: 2011-7-29 19:50
回复 7# luosiping360180 - @echo off
- set /p d=请输入盘符:
- sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "%d:~0,1%:\*[320×240].3gp"
- pause
复制代码
作者: luosiping360180 时间: 2011-7-29 19:57
:victory:
对 tmplinshi的感激之情如黄河泛滥啊。。。
作者: Hello123World 时间: 2011-7-31 12:29
- @echo off
- For /f "delims=" %%i in ('dir /s /b *[320×240]*.3gp') do Ren "%%i" "%%~ni.mp4"
- pause
- ::将批处理放在3gp文件所在的目录即可。
复制代码
作者: luosiping360180 时间: 2011-10-7 23:23
本帖最后由 luosiping360180 于 2011-10-8 00:07 编辑
- setlocal enabledelayedexpansion
- cls
- 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" (set i=%%i&sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "!i:~0,1!:\*[320×240].3gp")))
- pause
复制代码
U盘的其中一个有[320×240].3gp文件,但就是不能成功执行(U盘刷成二个盘,放在第二盘符下),请高手指教
当只剩下有[320×240].3gp文件的U盘符时,又可以成功修改掉扩展名
然后改成这样,问题依旧存在- echo off
- setlocal enabledelayedexpansion
- cls
- 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" (echo %%i盘 是内存卡&set /a n+=1&set pf!n!=%%i)))
- echo !pf1!
- echo !pf2!
- echo !pf3!
-
- pause
-
- sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "%pf3%:\*[320×240].3gp"||sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "%pf2%:\*[320×240].3gp"||sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "%pf1%:\*[320×240].3gp"
-
-
- pause
复制代码
作者: awk 时间: 2011-10-8 02:00
回复 10# luosiping360180 - @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 11:43
本帖最后由 luosiping360180 于 2011-10-8 14:54 编辑
谢谢 awk 兄
刚才帮人家下载,就他单张内存卡时,还是没有修改过来依旧是[320*240].3gp
但下面的代码输入内存卡的盘符,就成功执行。- @echo off
- set /p d=请输入盘符:
- sren -v "s/\[320×240\]\.3gp$/.mp4/i" /s /a:-d-h-s "%d:~0,1%:\*[320×240].3gp"
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |