Board logo

标题: [文件操作] 请问怎样移动最新的文件到指定目录? [打印本页]

作者: linjuming    时间: 2009-8-11 16:57     标题: 请问怎样移动最新的文件到指定目录?

操作:通过点击“移动最新的.bat”,就能把最新的文件夹“20090811151115”里面所有的文件移动到
d:\save
目录上去。
图片中的文件夹都是按照时间格式命名的。
谁帮我写个批处理?我是批处理白痴,不会写。
----------------------------------
8-12中午修改了一下要求:
怎么实现以下功能?
清空save---复制最新---打开save
--------------------------------------
作者: keen    时间: 2009-8-11 20:42     标题: 回复 1楼 的帖子

  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /ad') do set folder=%%i
  3. xcopy %folder%\*.* d:\save\
  4. pause
复制代码

作者: 基拉freedom    时间: 2009-8-11 22:23

我怎么感觉 dir 后该是od啊??
作者: Lumiere    时间: 2009-8-11 22:35

相信你的文件夹建立的先后顺序应该也完全符合时间的先后顺序。如果是这样的话,如下代码就可以:
  1. for /f "delims=" %%a in ('dir /b /ad /o-d') do move "%%~fa" d:\save&exit /b
复制代码

作者: Lumiere    时间: 2009-8-11 22:38     标题: 回复 3楼 的帖子

2楼的没错,因为for命令已经有一个隐式排序功能,最后%%i的值就是时间最晚的文件夹的名字。这样可以提高效率,不过用dir /o-d是效率最高的。
作者: 基拉freedom    时间: 2009-8-12 09:46


谢谢楼上的提醒
作者: linjuming    时间: 2009-8-12 11:23

谢谢!
在复制之前先清空save文件夹里面所有内容该怎么写?
作者: linjuming    时间: 2009-8-12 11:28

再加上一条,打开save文件夹
即:
清空save---复制最新---打开save
作者: Batcher    时间: 2009-8-12 11:35

请把所有的需求全部更新到顶楼,以便他人查看。
作者: keen    时间: 2009-8-14 21:30     标题: 回复 8楼 的帖子

  1. @echo off
  2. del d:\save\*.* /q
  3. for /f "delims=" %%i in ('dir /b /ad') do set folder=%%i
  4. xcopy %folder%\*.* d:\save\
  5. start "" d:\save
  6. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2