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

[文件操作] 各位大佬,求教bat脚本复制文件的问题

我这边做了个脚本,配合任务计划程序想达到自动复制昨天生成的文件到指定的路径。但是我实际操作后发现,脚本会将我昨天和今天生成的文件一起复制过去,下面是我的脚本,是我哪里没有写对么?
  1. @echo on
  2. echo Wscript.echo dateadd("d",-1,date)>vbs.vbs
  3. for /f %%a in ('cscript //nologo vbs.vbs') do del vbs.vbs&&set yyyymmdd=%%a
  4. for /f "tokens=1,2,3* delims=// " %%i in ('echo %yyyymmdd%') do set yyyy=%%i&set mm=%%j&set dd=%%k
  5. if   %mm%   LSS   9   set   mm=0%mm%
  6. if   %dd%   LSS   9   set   dd=0%dd%
  7. set lastdate=%mm%/%dd%/%yyyy%
  8. echo %lastdate%
  9. xcopy D:\mysql-binlog-bak\mybinlog.* E:\binlog传输 /c /d:%lastdate%
复制代码

回复 1# xcx


    代码里面的 echo %lastdate% 这一句显示的日期正确吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


    是的,显示的是昨天的日期

TOP

/d [:MM-DD-YYYY]        仅复制指定日期或之后更改的源文件。 如果未包含 MM-DD-YYYY 值,xcopy则 复制比现有目标文件更新的所有源文件。 此命令行选项允许更新已更改的文件。
https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/xcopy
是不是这个命令本身就是复制指定日期及之后的文件?
bat小白,请多指教!谢谢!

TOP

回复 4# 77七
这就很尴尬了,我只需要指定日期的文件就行了,之后的并不需要,或者还有种办法,脚本不变,我把脚本的运行时间改成第二天的凌晨的时候,那段时间基本上是没有数据进来的

TOP

  1. Get-ChildItem | ForEach-Object {
  2. if ( (get-date ($_.CreationTime) -Format "yyyy-MM-dd") -eq ( Get-Date ( (get-date) + (New-TimeSpan -Day -1) ) -Format "yyyy-MM-dd" ) ) {
  3. $_
  4. }
  5. }
复制代码
powershell 大概这样的

TOP

返回列表