标题: [文件操作] [已解决]批处理如何批量删除/去除子文件夹下所有文件文件名中的特定字符串 [打印本页]
作者: ygqiang 时间: 2015-3-4 13:23 标题: [已解决]批处理如何批量删除/去除子文件夹下所有文件文件名中的特定字符串
本帖最后由 pcl_test 于 2016-7-18 13:05 编辑
win系统c盘不同层级的子目录下,文件名前缀都是:0001.*网-,如何用bat删除这些前缀?
c盘不同层级的子目录下,有一些flv文件,文件名前缀为:0001.*网-
通过bat批处理,如何将这些文件名的前缀全部删除??
比如某个子目录aa下面,有一些文件是:
0001.优酷网-xxx.flv
0001.优酷网-xx.flv
0001.优酷网-x.flv
....
另一个子目录bb下面,有一些文件是:
0001.酷六网-yyy.flv
0001.酷六网-yy.flv
0001.酷六网-y.flv
.....
批处理处理后的文件名是:
xxx.flv
xx.flv
x.flv
....
yyy.flv
yy.flv
y.flv
.....
已解决。。- echo 本地磁盘:
- for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
- fsutil fsinfo drivetype %%a: | find "固定">nul && (echo %%a) && (
-
- @for /f "tokens=1* delims=-" %%i in ('dir /b /s "%%a:\*.flv" ^| findstr "0001.*网-"') do ren "%%i-%%j" "%%j"
-
- )
- )
复制代码
作者: 愤怒的CMD 时间: 2015-3-4 13:51
- @for /f "tokens=1* delims=-" %%i in ('dir/b *.flv') do ren %%i-%%j %%j
复制代码
作者: ygqiang 时间: 2015-3-4 14:15
愤怒的CMD 发表于 2015-3-4 13:51
多谢。。。。
如果文件夹路径是:c:\000 代码运行成功。
如果文件夹路径是:c:\000\新建文件夹 代码运行后不能修改文件名。如何修改?- @for /f "tokens=1* delims=-" %%i in ('dir/b "C:\000\新建文件夹\*.flv"') do ren %%i-%%j %%j
复制代码
作者: 愤怒的CMD 时间: 2015-3-4 14:19
- @for /f "tokens=1* delims=-" %%i in ('dir/b/s "C:\000\新建文件夹\*.flv"') do ren %%i-%%j %%j
复制代码
作者: ygqiang 时间: 2015-3-4 14:24
回复 2# 愤怒的CMD
在请教下。。。
文件名字分别是:
三国演义1
三国演义2
三国演义3
三国演义4
三国演义5
三国演义6
三国演义7
三国演义8
三国演义9
三国演义10
三国演义11
三国演义12
等等。。。。
如果用bat批处理修改文件名如下?
三国演义001
三国演义002
三国演义003
三国演义004
三国演义005
三国演义006
三国演义007
三国演义008
三国演义009
三国演义010
三国演义011
三国演义012
等等。。。。
作者: ygqiang 时间: 2015-3-4 14:35
愤怒的CMD 发表于 2015-3-4 14:19
多谢。。。如果是将c盘目录下所有符合条件的flv视频文件名,全部删除前缀 。。
如何修改这个代码?
作者: 愤怒的CMD 时间: 2015-3-4 14:39
回复 6# ygqiang
dir/b/s c:\*.flv
作者: 愤怒的CMD 时间: 2015-3-4 14:59
回复 5# ygqiang - @echo off&setlocal enabledelayedexpansion
- for /f %%i in ('dir/b *.flv') do (
- set var=%%~ni
- set var=!var:三国演义=00!
- set var=!var:~-3!
- ren %%i 三国演义!var!%%~xi
- )
复制代码
作者: ygqiang 时间: 2015-3-4 18:09
本帖最后由 ygqiang 于 2015-3-4 18:55 编辑
回复 ygqiang
dir/b/s c:\*.flv
愤怒的CMD 发表于 2015-3-4 14:39
你好。1楼重新更新了下具体的需求。。。
谢谢
作者: pcl_test 时间: 2015-3-4 19:19
回复 9# ygqiang
如果只要更名文件名前缀是0001.*网-的flv文件,在2楼的代码相应位置改成这样- dir /b /s "C:\*.flv" ^| findstr "0001.*网-"
复制代码
作者: ygqiang 时间: 2015-3-4 19:57
本帖最后由 ygqiang 于 2015-3-4 20:06 编辑
回复 ygqiang
如果只要更名文件名前缀是0001.*网-的flv文件,在2楼的代码相应位置改成这样
pcl_test 发表于 2015-3-4 19:19
你好。。。下面这个bat代码,运行后,没效果。。。- @for /f "tokens=1* delims=-" %%i in ('dir /b /s "C:\000\*.flv" ^| findstr "0001.*网-"') do ren %%i-%%j %%j
复制代码
C:\000这个是测试目录。。。。
主要问题是,下面2个符合条件的文件,不能删除文件名前缀。。
0001.优酷网-bb - 副本.flv
0001.酷六网-83·66节回春医疗保健操(舞曲金典版) 标清[流畅版].flv
作者: pcl_test 时间: 2015-3-4 20:19
回复 11# ygqiang
文件名有空格嘛,用英文双引号括起来- for /f "tokens=1* delims=-" %%i in ('dir /b /s "C:\*.flv" ^| findstr "0001.*网-"') do ren "%%i-%%j" "%%j"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |