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

[文本处理] 批处理如何实现在指定日期复制指定文件到其他目录

本帖最后由 7016427 于 2016-8-19 19:59 编辑

我每月10号、20号复制c:\hjkd.xls ,复制到e:\
请问老师,这个批处理文件怎样写?

主要是我不知道:每月10号、20号的写法
1

评分人数

    • pcl_test: 发帖前先使用论坛搜索PB -30

回复 1# 7016427


  请问老师,类似提问标题是什么?

TOP

  1. @echo off
  2. for /f "tokens=1" %%i in ("%date%") do (
  3.        for /f "tokens=3 delims=/" %%j in ("%%i") do (
  4.        if %%j==20 (copy /y c:\hjkd.xls E:\hjkd.xls)
  5.        if %%j==10 (copy /y c:\hjkd.xls E:\hjkd.xls)
  6.        )
  7. )
复制代码

TOP

RE: [已解决]批处理如何实现在指定日期复制指定文件到其他目录

本帖最后由 7016427 于 2016-8-20 07:13 编辑

[已解决]回复 3# bbaa
1

评分人数

TOP

本帖最后由 yu2n 于 2016-8-20 08:34 编辑

我的日期是這樣的:
  1. C:\Users\yu2n>echo %date%
  2. 16-08-20 週六
复制代码
%date% 有很多樣式,BAT 不能很好的處理,所以藉助 VBS 拓展功能。
  1. @echo off
  2. rem 獲取日期賦值給 %day% 變數(忽略日期分隔符號號 - / . ,以及地區設定的影響 )
  3. echo WScript.Echo day(now)>"%tmp%\$160820.vbs"
  4. for /f "delims=" %%a in ('cscript.exe //Nologo "%tmp%\$160820.vbs"') do set "day=%%a"
  5. rem 按日期執行
  6. if %day%==10  copy /y c:\hjkd.xls E:\
  7. if %day%==20  copy /y c:\hjkd.xls E:\
  8. pause
复制代码
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

wmic path win32_utctime get Day /value
1

评分人数

    • yu2n: 感谢分享技术 + 1

TOP

可以考虑用任务计划,举例:
  1. schtasks /create /tn cp /tr "cmd /c copy D:\a.txt \"E:\\"" /d 10 /sc monthly
复制代码

TOP

RE: 【已解决】批处理如何实现在指定日期复制指定文件到其他目录

回复 7# WHY
1

评分人数

TOP

回复 5# yu2n
  1. wmic path win32_operatingsystem get LocalDateTime /value
复制代码
1

评分人数

    • yu2n: 感谢分享技术 + 1

TOP

回复 6# pcl_test


    UTC时间容易出问题吧,凌晨执行命令会取到错误的日期。

TOP

回复 10# GNU

嗯,记错了,应该是
wmic path win32_localtime get Day /value

TOP

回复 7# WHY

/d 参数有没什么办法指定两个日期

控制面板内是可以设置多个日期的,命令行貌似搞不定。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 12# xxpinqz


    是的,不知道是BUG还是微软有意为之,多个日期的话只对周计划有效,对月计划无效。
... /d mon,tue,wed /sc weekly

TOP

回复 13# WHY


    猜测有可能是不想在代码中判断每个月是否有29、30、31号

TOP

回复 13# WHY
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

返回列表