找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21354|回复: 5

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

[复制链接]
发表于 2023-3-1 11:24:32 | 显示全部楼层 |阅读模式
我这边做了个脚本,配合任务计划程序想达到自动复制昨天生成的文件到指定的路径。但是我实际操作后发现,脚本会将我昨天和今天生成的文件一起复制过去,下面是我的脚本,是我哪里没有写对么?
  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%
复制代码
发表于 2023-3-1 12:16:30 | 显示全部楼层
回复 1# xcx


    代码里面的 echo %lastdate% 这一句显示的日期正确吗?
 楼主| 发表于 2023-3-1 12:26:59 | 显示全部楼层
回复 2# Batcher


    是的,显示的是昨天的日期
发表于 2023-3-1 13:27:40 | 显示全部楼层
/d [:MM-DD-YYYY]        仅复制指定日期或之后更改的源文件。 如果未包含 MM-DD-YYYY 值,xcopy则 复制比现有目标文件更新的所有源文件。 此命令行选项允许更新已更改的文件。
https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/xcopy
是不是这个命令本身就是复制指定日期及之后的文件?
 楼主| 发表于 2023-3-1 15:48:00 | 显示全部楼层
回复 4# 77七
这就很尴尬了,我只需要指定日期的文件就行了,之后的并不需要,或者还有种办法,脚本不变,我把脚本的运行时间改成第二天的凌晨的时候,那段时间基本上是没有数据进来的
发表于 2023-3-1 16:41:46 | 显示全部楼层
  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 大概这样的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 05:12 , Processed in 0.019368 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表