标题: [文件操作] [已解决]批处理怎样修改多级文件夹下文件后缀并移动? [打印本页]
作者: ninghtwolf 时间: 2010-6-9 17:15 标题: [已解决]批处理怎样修改多级文件夹下文件后缀并移动?
最近遇到些问题需要解决,修改出以下命令。请各位大虾帮助修正。
需求是将 C:\aaa\bbb下的*****。XML。err多个文件后缀修改为***** 。XML。并剪切至c:\bbb文件夹下。只剪切指定文件。不动其他文件夹。
以下是我修改的命令。在一级目录下可以实现。但是在多级目录下就不能使用了。
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /b C:\bbb\aaa\') do (
set a=%%~ni
set a=!a:*.XML.err
set a=!a:~,-10!
ren c:\aaa\%%i !a!*.
)
move /y " c:\aaa\bbb *.XML" " c:\aaa"
[ 本帖最后由 ninghtwolf 于 2010-6-10 13:32 编辑 ]
作者: hb_135 时间: 2010-6-9 17:22
'dir /b C:\bbb\aaa\' 修改成 ''dir /b /s C:\bbb\aaa\'' 试试
作者: gxuan2008 时间: 2010-6-9 17:22
是不是少了 /S 参数?
作者: hanyeguxing 时间: 2010-6-9 23:00
- @echo off
- for /f "delims=" %%a in ('dir /b/s C:\bbb\aaa\*.xml.err') do (
- ren "%%a" "%%~na"
- move "%%~dpa%%~na" c:\aaa\)
复制代码
ren和move都不递归子目录,所以必须在for内部。
[ 本帖最后由 hanyeguxing 于 2010-6-9 23:06 编辑 ]
作者: ninghtwolf 时间: 2010-6-10 13:04
非常感谢。问题已得到解决
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |