Board logo

标题: [文件操作] 批处理如何自动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

  1. @echo off
  2. ::路径 就是你保存文件的地方 如:"d:\program\"
  3. for /f "delims=" %%i in ('dir /a-d/od/b 路径^|find /v /i "%~nx0"') do set LastFile=%%i
  4. echo %LastFile%
  5. 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楼的代码使用了"|"管道命令大大降低了效率,修改如下:
  1. @echo off
  2. ::路径 就是你保存文件的地方 如:"d:\program\"
  3. for /f "delims=" %%i in ('dir /a-d/od/b 路径') do if "%%i" neq "%~nx0" set "LastFile=%%i"
  4. echo %LastFile%
  5. 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://bathome.net./) Powered by Discuz! 7.2