标题: [文件操作] 批处理怎样根据文件名移动到对应的文件夹? [打印本页]
作者: 雨思99小米粥 时间: 2014-11-8 13:18 标题: 批处理怎样根据文件名移动到对应的文件夹?
1、D盘D:\workspace\SHome里面有很多文件,文件名为*1123*.xml其中星号为其他字符,文件区别就是看1123、1124、1125、1126等等
2、D:\workspace\UP 里面有很多文件夹,命名就是1123、1124、1125.。。。。。等等,。
怎么写一个批处理,把对应的文件复制到对应的文件夹中??
求大神帮忙!!
作者: DAIC 时间: 2014-11-8 13:22
回复 1# 雨思99小米粥
数字两边的字符串长度有规律吗?数字两边是字母还是标点符号?
作者: 雨思99小米粥 时间: 2014-11-8 13:27
回复 2# DAIC
就像这样的~~~
文件名的前面和后面有不同的关键字,可以放到两个文件夹里面,如果按前面的放就都按前面的,按后面的放就都按后面的放~~
作者: 雨思99小米粥 时间: 2014-11-8 13:31
文件名的前面和后面有不同的关键字,可以放到两个文件夹里面,如果按前面的放就都按前面的,按后面的放就都按后面的放~~
谢谢大神~~每天都有上千个文件得复制~~~烦死了!!
作者: 再世情緣 时间: 2014-11-8 19:34
本帖最后由 再世情緣 于 2014-11-9 14:28 编辑
- @echo off &color 0a &setlocal enabledelayedexpansion
- set "sp=D:\workspace\SHome"
- set "ip=D:\workspace\UP"
- for /f "delims=" %%a in ('dir /b /a -d /s "%sp%\*.xml" 2^>nul') do (
- set "nm=%%~na" &&set "fm=!nm:*-=!" &&set "fm=!fm:~8,4!"
- xcopy "%%~fa" "%ip%\!fm!\" /C /Y /F
- )
- pause.
复制代码
作者: DAIC 时间: 2014-11-8 21:40
回复 5# 再世情緣
楼主说按照前面那里判断也可以,所以 set "fm=!nm:*-=!" 这个应该可以省掉,直接截取就行了。
作者: DAIC 时间: 2014-11-8 21:42
回复 5# 再世情緣
还有就是,第三行是不是少了个双引号。
作者: 再世情緣 时间: 2014-11-9 14:27
回复 7# DAIC
额。。。确实后面少了半个。。。谢谢提醒
作者: 雨思99小米粥 时间: 2014-11-10 09:00
回复 5# 再世情緣
谢谢大神!!!我赶紧去试试~~
作者: 雨思99小米粥 时间: 2014-11-10 09:00
回复 6# DAIC
同样谢谢您~~
作者: 雨思99小米粥 时间: 2014-11-10 09:01
回复 8# 再世情緣
谢谢~~~~~
作者: bajunshan 时间: 2014-11-20 09:41
学习了 我也遇到同样的问题
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |