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

[文本处理] 批处理 求能实现copy一个月以前的文件的机能的.bat

要实现一个拷贝功能的批处理,是通过现在的系统时间来判断,例如:在c:/aa文件夹中,如果据现在来说是一个月以前的文件就将它拷贝到d:/aa文件夹下。拜托拉
以下是我做的,抛砖引玉
  1. @echo off
  2. echo 正在从下面复制文件,清稍候……
  3. if %DATE:~9,2%=="1"goto Change
  4. set aFile=%DATE:~4,4%-%DATE:~9,2%-1-%DATE:~12,2%
  5. :Change
  6. set aFile=%DATE:~4,4%-1-%DATE:~9,2%+11-%DATE:~12,2%
  7. echo %aFile%
  8. xcopy /e /c /f /h /k /y /d:aFile "C:\Documents and Settings\feng_xu\デスクトップ" "D:\z\"
  9. echo 复制完成
  10. cls
  11. echo 全部命令成功的完成了!
复制代码

关键是日期问题,如果是一月的话那就需要换上一年了,。。切记,切记
我那个是日文操作系统阿,不识别你写的“字节“汉字阿。哪位能发个英文通用的阿
以下是百度找的,不但不好用,我还看不懂、
复制代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. Rem 取30天之前的日期,取回放入变量riqi
  4. echo wscript.echo dateadd("d",-30,date) >%tmp%\tmp.vbs
  5. for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i&set m=%%j&set d=%%k
  6. if %m% LSS 10 set m=0%m%
  7. if %d% LSS 10 set d=0%d%
  8. set riqi=%y%%m%%d%
  9. set "mulu=g:\a\kg"
  10. for /f "eol= skip=4 tokens=1,4" %%a in ('dir /a-d /tw "%mulu%"^|find /v ^"字节^"') do (
  11. set delrq=%%a
  12. set delrq=!delrq:-=!
  13. if !delrq! lss %riqi% (
  14. copy "%mulu%\%%~nxb" "e:\temp\"
  15. )
  16. )
  17. pause
  18. 里面的文件路径自己改改就成了.呵呵..花了点时间帮你写了个.恩
复制代码

回复 8楼 的帖子

"不好用"的具体表现是?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

这是别人给我的

@echo off
setlocal enabledelayedexpansion
Rem riqi
echo wscript.echo dateadd("d",-4,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i&set m=%%j&set d=%%k
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set riqi=%y%%m%%d%

set "mulu=d:\"
for /f "eol= skip=4 tokens=1,4" %%a in ('dir /a-d /tw "%mulu%"') do (
set delrq=%%a
set delrq=!delrq:/=!
if "!delrq:~0,3!"=="200" (
if !delrq! lss %riqi% (
copy "%mulu%\%%~nxb" "e:\"
)
)
)
pause

这是别人给我的,在我机器上不好用,但是他说他试验过了,是不是我系统问题呢?求解

TOP

回复 6楼 的帖子

你自己的测试结果如何呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

这么写对么

@echo off
setlocal enabledelayedexpansion
Rem 取40天之前的日期,取回放入变量riqi
echo wscript.echo dateadd("d",-4,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i&set m=%%j&set d=%%k
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set riqi=%y%%m%%d%

set "mulu=g:\a\kg"
for /f "eol= skip=4 tokens=1,4" %%a in ('dir /a-d /tw "%mulu%"') do (
set delrq=%%a
set delrq=!delrq:-=!
if "!delrq:~0,3!"=="200" (
if !delrq! lss %riqi% (
copy "%mulu%\%%~nxb" "e:\temp\"
)
)
)
pause

TOP

显示的结果是

2008/11/10

TOP

开始
运行
cmd
echo %date%
结果贴出来看看
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

555

我看不明白,555那么多功能,我只要我说的就行,555,谁来帮帮我!

TOP

论坛搜索 随风 的删除N天文件....

TOP

返回列表