标题: [文件操作] 各位大佬,求教bat脚本复制文件的问题 [打印本页]
作者: xcx 时间: 2023-3-1 11:24 标题: 各位大佬,求教bat脚本复制文件的问题
我这边做了个脚本,配合任务计划程序想达到自动复制昨天生成的文件到指定的路径。但是我实际操作后发现,脚本会将我昨天和今天生成的文件一起复制过去,下面是我的脚本,是我哪里没有写对么?- @echo on
- echo Wscript.echo dateadd("d",-1,date)>vbs.vbs
- for /f %%a in ('cscript //nologo vbs.vbs') do del vbs.vbs&&set yyyymmdd=%%a
- for /f "tokens=1,2,3* delims=// " %%i in ('echo %yyyymmdd%') do set yyyy=%%i&set mm=%%j&set dd=%%k
- if %mm% LSS 9 set mm=0%mm%
- if %dd% LSS 9 set dd=0%dd%
- set lastdate=%mm%/%dd%/%yyyy%
- echo %lastdate%
-
- xcopy D:\mysql-binlog-bak\mybinlog.* E:\binlog传输 /c /d:%lastdate%
复制代码
作者: Batcher 时间: 2023-3-1 12:16
回复 1# xcx
代码里面的 echo %lastdate% 这一句显示的日期正确吗?
作者: xcx 时间: 2023-3-1 12:26
回复 2# Batcher
是的,显示的是昨天的日期
作者: 77七 时间: 2023-3-1 13:27
/d [:MM-DD-YYYY] 仅复制指定日期或之后更改的源文件。 如果未包含 MM-DD-YYYY 值,xcopy则 复制比现有目标文件更新的所有源文件。 此命令行选项允许更新已更改的文件。
https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/xcopy
是不是这个命令本身就是复制指定日期及之后的文件?
作者: xcx 时间: 2023-3-1 15:48
回复 4# 77七
这就很尴尬了,我只需要指定日期的文件就行了,之后的并不需要,或者还有种办法,脚本不变,我把脚本的运行时间改成第二天的凌晨的时候,那段时间基本上是没有数据进来的
作者: newswan 时间: 2023-3-1 16:41
- Get-ChildItem | ForEach-Object {
- if ( (get-date ($_.CreationTime) -Format "yyyy-MM-dd") -eq ( Get-Date ( (get-date) + (New-TimeSpan -Day -1) ) -Format "yyyy-MM-dd" ) ) {
- $_
- }
- }
复制代码
powershell 大概这样的
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |