标题: [文本处理] [已解决]批处理如何复制规律随机形式的文件? [打印本页]
作者: tanghan 时间: 2009-7-21 04:02 标题: [已解决]批处理如何复制规律随机形式的文件?
A文件夹中有以下几个文件
2008_08_08_20:00.txt
2008_08_09_20:10.txt
2008_08_10_21:03.txt
2008_08_11_19:51.txt
也就是日期+时间的形式
如何复制日期最新(也就是最后一个文件)到B文件夹中去?
PS:经大家提醒,文件名不能用冒号.这点偶举例的时候疏忽了...谢谢大家
[ 本帖最后由 tanghan 于 2009-7-22 22:01 编辑 ]
作者: Lumiere 时间: 2009-7-21 09:01
文件名一般是不包括冒号:的吧?你是不是搞错了?实在有的话试一下这个代码吧。- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=1-5* delims=_:."%%a in ('dir /b a:\*.txt') do (
- set /a =s1=s2=s3=s4=s5=0, set temp=%%a%%b%%c%%d%%e
- if !date! lss !temp! set date=!temp!&set s1=%%a,s2=%%b,s3=%%c,s4=%%d,s5=%%e
- copy %%a_%%b_%%c_%%d:%%e.txt b\
- )
- pause>nul
复制代码
作者: terse 时间: 2009-7-21 11:11
直接dir 或 + sort 不行吗(文件名长度 格式 都一样的情况应该可以吧) 也可按时间dir吧
作者: batman 时间: 2009-7-21 11:15
用下sort可以简洁点吧(假设是从c:\test文件夹复制到e:\temp文件夹):- @echo off
- for /f "delims=" %%a in ('dir /b c:\test^|sort') do set "file=%%a"
- copy /y "%file%" "e:\temp\"
复制代码
[ 本帖最后由 batman 于 2009-7-21 15:18 编辑 ]
作者: Lumiere 时间: 2009-7-21 11:36
似乎文件名根本就不可能有冒号呢
作者: tireless 时间: 2009-7-21 13:57
- @echo off
- set "src=A"
- set "dest=B"
- for /f "delims=" %%a in ('dir /a-d/b/o-n "%src%\*_*_*.txt') do (
- copy "%src%\%%a" "%dest%"
- exit /b
- )
复制代码
作者: zhouyongjun 时间: 2009-7-21 14:29
for就已经排过序了吧- @echo off
- for %%i in (*_*_*_*.txt) do set "file=%%i"
- copy "%file%" "c:\"
复制代码
作者: tanghan 时间: 2009-7-22 21:59
7楼的简单一点.所以选用了这个,,成功!
其它的正在研究中...
谢谢大家..
PS:文件名不能用冒号,这里举例的时候疏忽了.谢谢大家!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |