[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何自动copy 目录中的最后的文件

我的同事每天要去测试,测试文件会自动保存,产生的测试文件名会依据测试的品种的不同而有所不同,平时都是利用
dir / od的方法去copy。我想编写一bat文件,请高手帮助,谢谢!!

你的意思是说按照od排序后copy最后的一个文件吗?

TOP

是的啊,就是这个意思

TOP

*************************
屏蔽,错误。

[ 本帖最后由 pusofalse 于 2008-8-11 16:16 编辑 ]
心绪平和,眼藏静谧。

TOP

@echo off
::路径 就是你保存文件的地方 如:"d:\program\"
for /f "delims=" %%i in ('dir/od/b 路径') do set LastFile=%%i
echo %LastFile%
pause

TOP

斑竹的这个程序会出问题的啊,
因为最后一个文件就是你自己写的程序

TOP

sorry 思维定向了。。。

[ 本帖最后由 pusofalse 于 2008-8-11 16:09 编辑 ]
心绪平和,眼藏静谧。

TOP

  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
复制代码

TOP

谢谢!!!真是高手啊。试验已经成功了!!
就是完全看不懂啊,很多的开关不明白,如:DIR /A-D/ 和
^ l
以及find 命令的开关
和 "%~nx0"
以及()里面为什么要写‘’
set 的命令,唉,真是什么都不会啊。谢谢各位的帮忙!!

TOP

刚才又试了”花花0919“的程序,好像也可以啊,为什么fastslz的要加了更多的语句呢?请问是出于什么考虑?谢谢!

TOP

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          在每个信息屏幕后暂停。
***共同提高***

TOP

谢谢了!!各位大侠:)

TOP

返回列表