标题: [文本处理] 批处理 求能实现copy一个月以前的文件的机能的.bat [打印本页]
作者: zk2587 时间: 2008-11-6 10:06 标题: 批处理 求能实现copy一个月以前的文件的机能的.bat
要实现一个拷贝功能的批处理,是通过现在的系统时间来判断,例如:在c:/aa文件夹中,如果据现在来说是一个月以前的文件就将它拷贝到d:/aa文件夹下。拜托拉
以下是我做的,抛砖引玉
- @echo off
- echo 正在从下面复制文件,清稍候……
- if %DATE:~9,2%=="1"goto Change
- set aFile=%DATE:~4,4%-%DATE:~9,2%-1-%DATE:~12,2%
-
- :Change
- set aFile=%DATE:~4,4%-1-%DATE:~9,2%+11-%DATE:~12,2%
-
- echo %aFile%
-
- xcopy /e /c /f /h /k /y /d:aFile "C:\Documents and Settings\feng_xu\デスクトップ" "D:\z\"
- echo 复制完成
- cls
- echo 全部命令成功的完成了!
复制代码
关键是日期问题,如果是一月的话那就需要换上一年了,。。切记,切记
我那个是日文操作系统阿,不识别你写的“字节“汉字阿。哪位能发个英文通用的阿
以下是百度找的,不但不好用,我还看不懂、
复制代码
- @echo off
- setlocal enabledelayedexpansion
- Rem 取30天之前的日期,取回放入变量riqi
- echo wscript.echo dateadd("d",-30,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%"^|find /v ^"字节^"') do (
- set delrq=%%a
- set delrq=!delrq:-=!
- if !delrq! lss %riqi% (
- copy "%mulu%\%%~nxb" "e:\temp\"
- )
- )
- pause
-
- 里面的文件路径自己改改就成了.呵呵..花了点时间帮你写了个.恩
复制代码
作者: youxi01 时间: 2008-11-6 10:58
论坛搜索 随风 的删除N天文件....
作者: zk2587 时间: 2008-11-6 11:30 标题: 555
我看不明白,555那么多功能,我只要我说的就行,555,谁来帮帮我!
作者: Batcher 时间: 2008-11-6 18:20
开始
运行
cmd
echo %date%
结果贴出来看看
作者: zk2587 时间: 2008-11-10 13:12 标题: 显示的结果是
2008/11/10
作者: zk2587 时间: 2008-11-10 13:47 标题: 这么写对么
@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
作者: Batcher 时间: 2008-11-10 16:41 标题: 回复 6楼 的帖子
你自己的测试结果如何呢?
作者: zk2587 时间: 2008-11-13 13:37 标题: 这是别人给我的
@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
这是别人给我的,在我机器上不好用,但是他说他试验过了,是不是我系统问题呢?求解
作者: Batcher 时间: 2008-11-13 14:12 标题: 回复 8楼 的帖子
"不好用"的具体表现是?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |