标题: [文件操作] 批处理如何自动copy 目录中的最后的文件 [打印本页]
作者: lee_xiaoy2k 时间: 2008-8-11 14:50 标题: 批处理如何自动copy 目录中的最后的文件
我的同事每天要去测试,测试文件会自动保存,产生的测试文件名会依据测试的品种的不同而有所不同,平时都是利用
dir / od的方法去copy。我想编写一bat文件,请高手帮助,谢谢!!
作者: huahua0919 时间: 2008-8-11 15:28
你的意思是说按照od排序后copy最后的一个文件吗?
作者: lee_xiaoy2k 时间: 2008-8-11 15:30
是的啊,就是这个意思
作者: pusofalse 时间: 2008-8-11 15:35
*************************
屏蔽,错误。
[ 本帖最后由 pusofalse 于 2008-8-11 16:16 编辑 ]
作者: huahua0919 时间: 2008-8-11 15:37
@echo off
::路径 就是你保存文件的地方 如:"d:\program\"
for /f "delims=" %%i in ('dir/od/b 路径') do set LastFile=%%i
echo %LastFile%
pause
作者: huahua0919 时间: 2008-8-11 15:38
斑竹的这个程序会出问题的啊,
因为最后一个文件就是你自己写的程序
作者: pusofalse 时间: 2008-8-11 15:56
sorry 思维定向了。。。
[ 本帖最后由 pusofalse 于 2008-8-11 16:09 编辑 ]
作者: fastslz 时间: 2008-8-11 16:33
- @echo off
- ::路径 就是你保存文件的地方 如:"d:\program\"
- for /f "delims=" %%i in ('dir /a-d/od/b 路径^|find /v /i "%~nx0"') do set LastFile=%%i
- echo %LastFile%
- pause
复制代码
作者: lee_xiaoy2k 时间: 2008-8-14 11:11
谢谢!!!真是高手啊。试验已经成功了!!
就是完全看不懂啊,很多的开关不明白,如:DIR /A-D/ 和
^ l
以及find 命令的开关
和 "%~nx0"
以及()里面为什么要写‘’
set 的命令,唉,真是什么都不会啊。谢谢各位的帮忙!!
作者: lee_xiaoy2k 时间: 2008-8-14 11:17
刚才又试了”花花0919“的程序,好像也可以啊,为什么fastslz的要加了更多的语句呢?请问是出于什么考虑?谢谢!
作者: batman 时间: 2008-8-14 18:08
8楼的代码使用了"|"管道命令大大降低了效率,修改如下:- @echo off
- ::路径 就是你保存文件的地方 如:"d:\program\"
- for /f "delims=" %%i in ('dir /a-d/od/b 路径') do if "%%i" neq "%~nx0" set "LastFile=%%i"
- echo %LastFile%
- pause>nul
复制代码
至于dir的参数解释如下:
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]
指定要列出的驱动器、目录和/或文件。
/A 显示具有指定属性的文件。
attributes D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 - 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
停用分隔符显示。
/D 跟宽式相同,但文件是按栏分类列出的。
/L 用小写。
/N 新的长列表格式,其中文件名在最右边。
/O 用分类顺序列出文件。
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 颠倒顺序的前缀
/P 在每个信息屏幕后暂停。
作者: lee_xiaoy2k 时间: 2008-8-15 09:25
谢谢了!!各位大侠:)
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |