标题: [文本处理] [以解决]批处理怎么修改一下文件名? [打印本页]
作者: qcbf 时间: 2011-6-3 13:57 标题: [已解决]批处理怎么修改一下文件名?
因为我用yamdi给每个flv注入一下,而yamdi只能是注入后生成一个新的flv(flvtool2这些虽然可以但是效率太差..)
所以我现在写了个批处理yamdi注入后的文件名是 原来文件名.flv_injection.flv 这样的,再删掉原来的文件.然后我现在需要在写一个批处理又来rename这些批处理,将 比如 :原来:abc.flv注入后是abc.flv_injection.flv就是将_injection.flv去掉.
谢谢大家了,不知道大家理解了么?
作者: CrLf 时间: 2011-6-3 14:01
看得真晕,何不列举几个简单例子进行前后对比呢?比如:
1.flv_abc.flv 1.flv
a.flv_abc.flv a.flv
TEST.flv_abc.flv TEST.flv
不知道我理解你的意思没...
作者: qcbf 时间: 2011-6-3 14:03
2# zm900612
对,就是这样,该怎么写呀,谢谢了.
作者: CrLf 时间: 2011-6-3 14:09
本帖最后由 zm900612 于 2011-6-3 14:22 编辑
- ren "*.flv_abc.flv" "???????????????????????.flv"
复制代码
作者: qcbf 时间: 2011-6-3 14:19
4# zm900612
谢谢你.
作者: qcbf 时间: 2011-6-3 14:29
4# zm900612
如果这个文件还在子文件夹里存在有该怎么写呀?
就是全部文件都替换文件名,包括子文件夹
作者: 601997526 时间: 2011-6-3 14:34
加个for /r 就行了
作者: qcbf 时间: 2011-6-3 14:41
本帖最后由 qcbf 于 2011-6-3 14:52 编辑
7# 601997526
那个,我对批处理是差的.....
希望能写出例题,谢谢了...
实在抱歉,要求的这么多....
我这样写了个,但达不到效果- for /f "delims=" %%ii in ('dir /b /a-d /s "*.flv"') do (
- rename "%%ii" "???????????????????????.flv"
- )
复制代码
这是全部代码- @echo off
- echo 正在进行注入
- for /f "delims=" %%i in ('dir /b /a-d /s "*.flv"') do (yamdi -i "%%i" -o "%%i"_injection.flv&del "%%i"&echo %%i )
- echo 正在进行最后步骤;
-
- for /f "delims=" %%ii in ('dir /b /a-d /s "*.flv"') do (rename "*.flv_injection.flv" "???????????????????????.flv")
-
- echo 全部完成
- pause
复制代码
作者: CrLf 时间: 2011-6-3 15:03
本帖最后由 zm900612 于 2011-6-3 15:12 编辑
包括子目录- for /r /d %%a in (*) do ren "%%a\*.flv_abc.flv" "???????????????????????.flv"
复制代码
作者: qcbf 时间: 2011-6-3 15:09
9# zm900612
@echo off
for /r /d %%a in (*) do ren "*.flv_injection.flv" "???????????????????????.flv"
pause
系统找不到指定的文件。
......
作者: CrLf 时间: 2011-6-3 15:12
笔误已修改
作者: qcbf 时间: 2011-6-3 15:25
谢谢大家,效果实现了.
作者: qcbf 时间: 2011-6-9 11:02 标题: [以解决]批处理怎么修改一下文件名?
本帖最后由 zm900612 于 2011-6-9 15:26 编辑
@echo off
for /f "delims=" %%i in ('dir /b /a-d /s "*.flv_injection.flv"') do (
echo %%i
rename "%%i" "??????????????????????????????????????????????????.flv"
)
pause
如果影片是a.a.flv_injection.flv的话他也会改为a.flv而并不是a.a.flv
这样怎么解决呀,谢谢了.
谢谢了.
作者: qcbf 时间: 2011-6-9 13:44
自己解决.
@echo off
echo 请稍候...
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a /b /s *.flv_injection.flv') do (
echo %%~na
set hcy=%%~na.flv
ren "%%~a" "!hcy:_injection.flv=!")
pause
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |