标题: [日期时间] [已解决]批处理如何把EXCEL文件根据文件名把文件剪切到不同的文件夹? [打印本页]
作者: flyhorse85 时间: 2011-8-4 09:06 标题: [已解决]批处理如何把EXCEL文件根据文件名把文件剪切到不同的文件夹?
EXCEL文件的名字都以“-”加站名命名,譬如:“杭州TD4期新建工程单站点验证报告—自由孔.xls”,“杭州TD4期新建工程单站点验证报告—自来水厂.xls”,“杭州TD4期新建工程单站点验证报告—紫京山庄.xls”
每个站名归属的县区如下:
站名 县市
自由孔 萧山
自来水厂 余杭
紫京山庄 西湖
竹海水韵 余杭
朱穴 临安
朱家塔 萧山
周杨村 余杭
要解决的问题是,自由孔归属是萧山,则把“杭州TD4期新建工程单站点验证报告—自由孔.xls”剪切到“萧山”的文件夹中。
求解!
作者: tmplinshi 时间: 2011-8-4 12:25
- @echo off
- for /f "tokens=1,2" %%a in (' more +8 "%~f0" ') do (
- if not exist %%b md %%b
- move *—%%a.xls %%b
- )
- exit /b
-
- :: ------------------
- 自由孔 萧山
- 自来水厂 余杭
- 紫京山庄 西湖
- 竹海水韵 余杭
- 朱穴 临安
- 朱家塔 萧山
- 周杨村 余杭
复制代码
作者: flyhorse85 时间: 2011-8-4 13:16
运行正常,非常感谢!
作者: flyhorse85 时间: 2011-8-4 13:24
本帖最后由 flyhorse85 于 2011-8-4 13:26 编辑
如果所属区域的名字不只是2个字呢,譬如说有2,3,4个字的,该如何提取呢?
tokens=1,2就无法实现了。
还有就是excel文件放在很多不同的文件夹,而且深度不同,是否一定要全部剪切到同一个文件夹?然后再执行代码。
作者: tmplinshi 时间: 2011-8-4 13:47
是指“站名”有空格,还是“区域”有空格?请像顶楼一样,举一些例子。
.
是在一个文件夹下的多个子文件夹,还是在不同的文件夹内?或者你希望搜索指定盘符,还是全盘搜索?
作者: flyhorse85 时间: 2011-8-4 14:22
县市名如下,就是有多于2个字,或者一些特殊字符,该怎么处理?
站名 县市
自由孔 萧&山
自来水厂 余 杭
紫京山庄 西湖区
excel文件是在一个文件夹下的多个子文件夹中。
作者: tmplinshi 时间: 2011-8-4 14:38
- @echo off
- for /f "tokens=1,*" %%a in (' more +8 "%~f0" ') do (
- if not exist "%%b" md "%%b"
- for /r %%i in (*—%%a.xls) do move "%%i" "%%b"
- )
- exit /b
-
- :: ------------------
- 自由孔 萧&山
- 自来水厂 余 杭
- 紫京山庄 西湖区
- 朱穴 临安
- 朱家塔 萧山
- 周杨村 余杭
复制代码
作者: zaixinxiangnian 时间: 2011-8-4 15:04
in ( ' more +8 "%~f0" ')括号里面的不明白,请问楼主哪里有关于这里面的解释
作者: tmplinshi 时间: 2011-8-4 15:30
in ( ' more +8 "%~f0" ')括号里面的不明白,请问楼主哪里有关于这里面的解释
zaixinxiangnian 发表于 2011-8-4 15:04
call /?
more /?
作者: flyhorse85 时间: 2011-8-9 10:00
more是8行以后
call是调用,就像goto一样
"%~f0"就不知道是啥意思了
作者: CUer 时间: 2011-8-9 12:04
回复 10# flyhorse85
批处理文件自身的完整路径
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |