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

[日期时间] 批处理怎样引用以当前时间年月命名的文件夹?

  1. @echo off
  2. set YYYYmm=%date:~0,4%年%date:~5,2%月
  3. set mmdd=%date:~5,2%月%date:~8,2%日
  4. echo %YYYYmm%
  5. :memu
  6. for /f "delims=" %%a in ('dir /a-d/b D:\工作文件\%YYYYmm%\*.*') do (
  7. if not [%%a]==[] (
  8. echo %time%%y%新增文件:%%a
  9. xcopy "D:\工作文件\%%a" "\\2.2.1.101\本地磁盘(o)\" /e /y
  10.     md "D:\工作文件\已存共享"
  11.     move "D:\工作文件\%%a" "D:\工作文件\已存共享"
  12. )
  13. )
  14. ping 127.0.1 -n 61 >nul
  15. goto memu
复制代码
代码如上,我在D盘目录下有一个以当前时间年月命名的文件夹,如:2018年9月
我要怎么引用他呢?上面的代码不对,显示找不到文件。
  1. for /f "delims=" %%a in ('dir /a-d/b D:\工作文件\%YYYYmm%\*.*') do (
复制代码

主程序是个死循环,它会不停的执行第5行到第15行之间的内容,如果你把新的for命令放在第15行下面,它是不会被执行的。

如果新的for命令是放在一个单独的bat文件里面,那么需要再次定义一下YYYYmm这个变量:
  1. @echo off
  2. set YYYYmm=%date:~0,4%年%date:~5,2%月
  3. for /f "delims=" %%a in ('dir /a-d/b D:\工作文件\%YYYYmm%\*.*') do (
  4. ...
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. for /f "tokens=1,2,* delims=年月" %%a in ('date /t') do (
  2.     set YYYYmm=%%a年%%b月
  3.     set mmdd=%%b月%%c
  4. )
复制代码

TOP

返回列表