34 个解决方案
#1
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=right(year(dt),2) ^& right("00" ^& month(dt),2) ^& right("00" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f %%i in ('cscript /nologo %temp%\tmp.vbs') do @rmdir /s /q d:\yourdir\%%i
echo dt=date()-5>%temp%\tmp.vbs
echo s=right(year(dt),2) ^& right("00" ^& month(dt),2) ^& right("00" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f %%i in ('cscript /nologo %temp%\tmp.vbs') do @rmdir /s /q d:\yourdir\%%i
#2
佩服、现收藏,批处理也是一直是本人想学的,但是一直没学到手。嘿嘿。
#3
@echo off起到什么作用?可以不写吗?
#4
麻烦spark_li(晕忽忽(恶人谷:通讯连长)) ,可以在这些语句后面给点解释吗?
#5
@echo off
可以不写
echo off 的意思是关闭命令回现
举个例子吧,
tmp.bat的内容如下
@echo off
date /t
echo on
date /t
执行tmp.bat后系统的输入
C:\>tmp
2006-11-13 星期一
C:\>date /t
2006-11-13 星期一
不知道你看出来区别没,
可以不写
echo off 的意思是关闭命令回现
举个例子吧,
tmp.bat的内容如下
@echo off
date /t
echo on
date /t
执行tmp.bat后系统的输入
C:\>tmp
2006-11-13 星期一
C:\>date /t
2006-11-13 星期一
不知道你看出来区别没,
#6
真的不好意思,我没看出来?麻烦你没一句都解释一下好吗?
#7
我运行了上面的命令,youdir下面五天前的文件并没删除阿
#8
晕哦,犯错误了,你还没有说说你文件的命名格式呢
你的文件名是任意的么?
如果是这样,这个批处理就要修改一下了。
你的文件名是任意的么?
如果是这样,这个批处理就要修改一下了。
#9
我的问题是这么产生的:
在windows平台下,目前我采用exp usr/pwd file=d:\%date:~4,10%.dmp
的方式,每天晚上自动执行,但是,由于这种方式的每次产生的文件名是一样的,所以每天只能保留一个备份文件,请问有没什么脚本可以像unix环境下面那样,在文件名前面加上日期,并且可以自动删除五天以前的备份文件。
文件命名的格式是.dmp文件
在windows平台下,目前我采用exp usr/pwd file=d:\%date:~4,10%.dmp
的方式,每天晚上自动执行,但是,由于这种方式的每次产生的文件名是一样的,所以每天只能保留一个备份文件,请问有没什么脚本可以像unix环境下面那样,在文件名前面加上日期,并且可以自动删除五天以前的备份文件。
文件命名的格式是.dmp文件
#10
我希望是根据文件的创建时间来判断的,不希望通过文件名中的时间来判断时间????????????????????
#11
我的问题是这么产生的:
在windows平台下,目前我采用exp usr/pwd file=d:\username%date:~4,10%.dmp
的方式,每天晚上自动执行,请问有没什么脚本可以像unix环境下面那样,在文件名前面加上日期,并且可以自动删除五天以前的备份文件。
文件命名的格式是.dmp文件
在windows平台下,目前我采用exp usr/pwd file=d:\username%date:~4,10%.dmp
的方式,每天晚上自动执行,请问有没什么脚本可以像unix环境下面那样,在文件名前面加上日期,并且可以自动删除五天以前的备份文件。
文件命名的格式是.dmp文件
#12
哎,昨天我回复的时候真郁闷,打了n多字,csdn突然不能访问了。
cowbaby是用来备份oracle的数据吧
看我的oracle备份脚本
@echo off
set filename=e:\data_bak\%date:~8,2%日
exp userid=user/pass@esdata file=%filename%.dmp owner=user INDEXES=y grants=y constraints=y compress=y log=%filename%.log
rar a %filename%.rar %filename%.*
del %filename%.dmp
del %filename%.log
放计划任务里面定时执行,
文件名以日期的day部分来命名
备份后调用rar进行压缩
这样可以保存一个月的历史数据。
cowbaby是用来备份oracle的数据吧
看我的oracle备份脚本
@echo off
set filename=e:\data_bak\%date:~8,2%日
exp userid=user/pass@esdata file=%filename%.dmp owner=user INDEXES=y grants=y constraints=y compress=y log=%filename%.log
rar a %filename%.rar %filename%.*
del %filename%.dmp
del %filename%.log
放计划任务里面定时执行,
文件名以日期的day部分来命名
备份后调用rar进行压缩
这样可以保存一个月的历史数据。
#13
你要5天的,你可以这样,以日期的星期部分来命名(这样有七天的数据)
不用删除,自动可以覆盖的啊
不用删除,自动可以覆盖的啊
#14
你真要的话,昨天写了没有保存,正好有空,重写了一个
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=year(dt) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f "delims=x" %%i in ('cscript /nologo %temp%\tmp.vbs') do @set ref=%%i
for /f "tokens=1,2,3*" %%i in ('dir /tc d:\xtmp\tmp\*.txt^|find ":"^|find "-"') do (
if %%i LSS %ref% echo %%l
)
你把上面的路径修改一下就可以了
d:\xtmp\tmp\*.txt
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=year(dt) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f "delims=x" %%i in ('cscript /nologo %temp%\tmp.vbs') do @set ref=%%i
for /f "tokens=1,2,3*" %%i in ('dir /tc d:\xtmp\tmp\*.txt^|find ":"^|find "-"') do (
if %%i LSS %ref% echo %%l
)
你把上面的路径修改一下就可以了
d:\xtmp\tmp\*.txt
#15
非常感谢spark_li(晕忽忽(恶人谷:通讯连长)) ,我现在终于看懂了,谢谢,这个脚本用处太大了!!!
#16
请问spark_li(晕忽忽(恶人谷:通讯连长)) :
上面您的数据库备份脚本我觉得特别好,其中
rar a %filename%.rar %filename%.*
del %filename%.dmp
del %filename%.log
这三句话可以解释一下吗?
上面您的数据库备份脚本我觉得特别好,其中
rar a %filename%.rar %filename%.*
del %filename%.dmp
del %filename%.log
这三句话可以解释一下吗?
#17
1、压缩
2、删除.dmp文件
3、删除.log文件
2、删除.dmp文件
3、删除.log文件
#18
删除我知道,但是为什么要删除?
每个月会循环覆盖的阿?
每个月会循环覆盖的阿?
#19
哦,明白了,.DMP文件已经压缩成.RAR文件了,因此删除原来的.DMP文件,呵呵。
#20
from spark_li(晕忽忽(恶人谷:通讯连长)) :
你要5天的,你可以这样,以日期的星期部分来命名(这样有七天的数据)
不用删除,自动可以覆盖的啊。
请问:
以日期的星期部分来命名脚本应该取date函数的哪几位?
你要5天的,你可以这样,以日期的星期部分来命名(这样有七天的数据)
不用删除,自动可以覆盖的啊。
请问:
以日期的星期部分来命名脚本应该取date函数的哪几位?
#21
%date:~11,3%
#22
参考:http://blog.csdn.net/scz123/archive/2006/09/12/1213907.aspx
#23
感谢spark_li(晕忽忽(恶人谷:通讯连长)) !!!
感谢scz123(小章 http://blog.csdn.net/scz123/)!!!
感谢CSDN为我们提供这么好的学习平台!!!
感谢scz123(小章 http://blog.csdn.net/scz123/)!!!
感谢CSDN为我们提供这么好的学习平台!!!
#24
To:spark_li(晕忽忽(恶人谷:通讯连长)):
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=year(dt) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f "delims=x" %%i in ('cscript /nologo %temp%\tmp.vbs') do @set ref=%%i
for /f "tokens=1,2,3*" %%i in ('dir /tc d:\xtmp\tmp\*.txt^|find ":"^|find "-"') do (
if %%i LSS %ref% echo %%l
)
这个脚本我运行了一下,还是不能删除?
我在d:\xtmp\tmp\下面建立了几个文本文件,然后修改系统日期到五天之后,还是不能删除目标文件。
请问还有什么问题吗?
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=year(dt) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f "delims=x" %%i in ('cscript /nologo %temp%\tmp.vbs') do @set ref=%%i
for /f "tokens=1,2,3*" %%i in ('dir /tc d:\xtmp\tmp\*.txt^|find ":"^|find "-"') do (
if %%i LSS %ref% echo %%l
)
这个脚本我运行了一下,还是不能删除?
我在d:\xtmp\tmp\下面建立了几个文本文件,然后修改系统日期到五天之后,还是不能删除目标文件。
请问还有什么问题吗?
#25
我在自己的环境下面使用:
rar a %filename%.rar %filename%.*
并不会生成rar文件?
是不是PATH变量还没有设置好?
rar a %filename%.rar %filename%.*
并不会生成rar文件?
是不是PATH变量还没有设置好?
#26
这样吧,你把program files/winrar目录下的rar.exe拷贝到系统system32目录下吧
#27
你得把我批处理里面的
if %%i LSS %ref% echo %%l
修改成
if %%i LSS %ref% rmdir /s /q %%l
啊
if %%i LSS %ref% echo %%l
修改成
if %%i LSS %ref% rmdir /s /q %%l
啊
#28
我修改成
if %%i LSS %ref% rmdir /s /q %%l
还是不能删除该文件夹下的.txt文件
??
if %%i LSS %ref% rmdir /s /q %%l
还是不能删除该文件夹下的.txt文件
??
#29
if %%i LSS %ref% rmdir /s /q %%l
修改成if %%i LSS %ref% rmdir /s /q d:\xtmp\tmp\%%l
吧
修改成if %%i LSS %ref% rmdir /s /q d:\xtmp\tmp\%%l
吧
#30
晕呀,还是
if %%i LSS %ref% rmdir /s /q d:\xtmp\tmp\%%l
修改成
if %%i LSS %ref% del /f d:\xtmp\tmp\%%l
吧
if %%i LSS %ref% rmdir /s /q d:\xtmp\tmp\%%l
修改成
if %%i LSS %ref% del /f d:\xtmp\tmp\%%l
吧
#31
不錯,記下了!
#32
我试过了,这下可以了,真的删除了,呵呵:)
不过删除date()-1的文件,是删除一天以前的,昨天的文件还是保留的,呵呵:)
谢谢!!!
不过删除date()-1的文件,是删除一天以前的,昨天的文件还是保留的,呵呵:)
谢谢!!!
#33
但是出现一个很奇怪的问题,我用汉字命名的文本文件,为什么删除不了?
#34
出现一个很奇怪的问题,我用汉字命名的文本文件,为什么删除不了?
#1
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=right(year(dt),2) ^& right("00" ^& month(dt),2) ^& right("00" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f %%i in ('cscript /nologo %temp%\tmp.vbs') do @rmdir /s /q d:\yourdir\%%i
echo dt=date()-5>%temp%\tmp.vbs
echo s=right(year(dt),2) ^& right("00" ^& month(dt),2) ^& right("00" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f %%i in ('cscript /nologo %temp%\tmp.vbs') do @rmdir /s /q d:\yourdir\%%i
#2
佩服、现收藏,批处理也是一直是本人想学的,但是一直没学到手。嘿嘿。
#3
@echo off起到什么作用?可以不写吗?
#4
麻烦spark_li(晕忽忽(恶人谷:通讯连长)) ,可以在这些语句后面给点解释吗?
#5
@echo off
可以不写
echo off 的意思是关闭命令回现
举个例子吧,
tmp.bat的内容如下
@echo off
date /t
echo on
date /t
执行tmp.bat后系统的输入
C:\>tmp
2006-11-13 星期一
C:\>date /t
2006-11-13 星期一
不知道你看出来区别没,
可以不写
echo off 的意思是关闭命令回现
举个例子吧,
tmp.bat的内容如下
@echo off
date /t
echo on
date /t
执行tmp.bat后系统的输入
C:\>tmp
2006-11-13 星期一
C:\>date /t
2006-11-13 星期一
不知道你看出来区别没,
#6
真的不好意思,我没看出来?麻烦你没一句都解释一下好吗?
#7
我运行了上面的命令,youdir下面五天前的文件并没删除阿
#8
晕哦,犯错误了,你还没有说说你文件的命名格式呢
你的文件名是任意的么?
如果是这样,这个批处理就要修改一下了。
你的文件名是任意的么?
如果是这样,这个批处理就要修改一下了。
#9
我的问题是这么产生的:
在windows平台下,目前我采用exp usr/pwd file=d:\%date:~4,10%.dmp
的方式,每天晚上自动执行,但是,由于这种方式的每次产生的文件名是一样的,所以每天只能保留一个备份文件,请问有没什么脚本可以像unix环境下面那样,在文件名前面加上日期,并且可以自动删除五天以前的备份文件。
文件命名的格式是.dmp文件
在windows平台下,目前我采用exp usr/pwd file=d:\%date:~4,10%.dmp
的方式,每天晚上自动执行,但是,由于这种方式的每次产生的文件名是一样的,所以每天只能保留一个备份文件,请问有没什么脚本可以像unix环境下面那样,在文件名前面加上日期,并且可以自动删除五天以前的备份文件。
文件命名的格式是.dmp文件
#10
我希望是根据文件的创建时间来判断的,不希望通过文件名中的时间来判断时间????????????????????
#11
我的问题是这么产生的:
在windows平台下,目前我采用exp usr/pwd file=d:\username%date:~4,10%.dmp
的方式,每天晚上自动执行,请问有没什么脚本可以像unix环境下面那样,在文件名前面加上日期,并且可以自动删除五天以前的备份文件。
文件命名的格式是.dmp文件
在windows平台下,目前我采用exp usr/pwd file=d:\username%date:~4,10%.dmp
的方式,每天晚上自动执行,请问有没什么脚本可以像unix环境下面那样,在文件名前面加上日期,并且可以自动删除五天以前的备份文件。
文件命名的格式是.dmp文件
#12
哎,昨天我回复的时候真郁闷,打了n多字,csdn突然不能访问了。
cowbaby是用来备份oracle的数据吧
看我的oracle备份脚本
@echo off
set filename=e:\data_bak\%date:~8,2%日
exp userid=user/pass@esdata file=%filename%.dmp owner=user INDEXES=y grants=y constraints=y compress=y log=%filename%.log
rar a %filename%.rar %filename%.*
del %filename%.dmp
del %filename%.log
放计划任务里面定时执行,
文件名以日期的day部分来命名
备份后调用rar进行压缩
这样可以保存一个月的历史数据。
cowbaby是用来备份oracle的数据吧
看我的oracle备份脚本
@echo off
set filename=e:\data_bak\%date:~8,2%日
exp userid=user/pass@esdata file=%filename%.dmp owner=user INDEXES=y grants=y constraints=y compress=y log=%filename%.log
rar a %filename%.rar %filename%.*
del %filename%.dmp
del %filename%.log
放计划任务里面定时执行,
文件名以日期的day部分来命名
备份后调用rar进行压缩
这样可以保存一个月的历史数据。
#13
你要5天的,你可以这样,以日期的星期部分来命名(这样有七天的数据)
不用删除,自动可以覆盖的啊
不用删除,自动可以覆盖的啊
#14
你真要的话,昨天写了没有保存,正好有空,重写了一个
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=year(dt) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f "delims=x" %%i in ('cscript /nologo %temp%\tmp.vbs') do @set ref=%%i
for /f "tokens=1,2,3*" %%i in ('dir /tc d:\xtmp\tmp\*.txt^|find ":"^|find "-"') do (
if %%i LSS %ref% echo %%l
)
你把上面的路径修改一下就可以了
d:\xtmp\tmp\*.txt
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=year(dt) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f "delims=x" %%i in ('cscript /nologo %temp%\tmp.vbs') do @set ref=%%i
for /f "tokens=1,2,3*" %%i in ('dir /tc d:\xtmp\tmp\*.txt^|find ":"^|find "-"') do (
if %%i LSS %ref% echo %%l
)
你把上面的路径修改一下就可以了
d:\xtmp\tmp\*.txt
#15
非常感谢spark_li(晕忽忽(恶人谷:通讯连长)) ,我现在终于看懂了,谢谢,这个脚本用处太大了!!!
#16
请问spark_li(晕忽忽(恶人谷:通讯连长)) :
上面您的数据库备份脚本我觉得特别好,其中
rar a %filename%.rar %filename%.*
del %filename%.dmp
del %filename%.log
这三句话可以解释一下吗?
上面您的数据库备份脚本我觉得特别好,其中
rar a %filename%.rar %filename%.*
del %filename%.dmp
del %filename%.log
这三句话可以解释一下吗?
#17
1、压缩
2、删除.dmp文件
3、删除.log文件
2、删除.dmp文件
3、删除.log文件
#18
删除我知道,但是为什么要删除?
每个月会循环覆盖的阿?
每个月会循环覆盖的阿?
#19
哦,明白了,.DMP文件已经压缩成.RAR文件了,因此删除原来的.DMP文件,呵呵。
#20
from spark_li(晕忽忽(恶人谷:通讯连长)) :
你要5天的,你可以这样,以日期的星期部分来命名(这样有七天的数据)
不用删除,自动可以覆盖的啊。
请问:
以日期的星期部分来命名脚本应该取date函数的哪几位?
你要5天的,你可以这样,以日期的星期部分来命名(这样有七天的数据)
不用删除,自动可以覆盖的啊。
请问:
以日期的星期部分来命名脚本应该取date函数的哪几位?
#21
%date:~11,3%
#22
参考:http://blog.csdn.net/scz123/archive/2006/09/12/1213907.aspx
#23
感谢spark_li(晕忽忽(恶人谷:通讯连长)) !!!
感谢scz123(小章 http://blog.csdn.net/scz123/)!!!
感谢CSDN为我们提供这么好的学习平台!!!
感谢scz123(小章 http://blog.csdn.net/scz123/)!!!
感谢CSDN为我们提供这么好的学习平台!!!
#24
To:spark_li(晕忽忽(恶人谷:通讯连长)):
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=year(dt) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f "delims=x" %%i in ('cscript /nologo %temp%\tmp.vbs') do @set ref=%%i
for /f "tokens=1,2,3*" %%i in ('dir /tc d:\xtmp\tmp\*.txt^|find ":"^|find "-"') do (
if %%i LSS %ref% echo %%l
)
这个脚本我运行了一下,还是不能删除?
我在d:\xtmp\tmp\下面建立了几个文本文件,然后修改系统日期到五天之后,还是不能删除目标文件。
请问还有什么问题吗?
@echo off
echo dt=date()-5>%temp%\tmp.vbs
echo s=year(dt) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)>>%temp%\tmp.vbs
echo wscript.echo s>>%temp%\tmp.vbs
for /f "delims=x" %%i in ('cscript /nologo %temp%\tmp.vbs') do @set ref=%%i
for /f "tokens=1,2,3*" %%i in ('dir /tc d:\xtmp\tmp\*.txt^|find ":"^|find "-"') do (
if %%i LSS %ref% echo %%l
)
这个脚本我运行了一下,还是不能删除?
我在d:\xtmp\tmp\下面建立了几个文本文件,然后修改系统日期到五天之后,还是不能删除目标文件。
请问还有什么问题吗?
#25
我在自己的环境下面使用:
rar a %filename%.rar %filename%.*
并不会生成rar文件?
是不是PATH变量还没有设置好?
rar a %filename%.rar %filename%.*
并不会生成rar文件?
是不是PATH变量还没有设置好?
#26
这样吧,你把program files/winrar目录下的rar.exe拷贝到系统system32目录下吧
#27
你得把我批处理里面的
if %%i LSS %ref% echo %%l
修改成
if %%i LSS %ref% rmdir /s /q %%l
啊
if %%i LSS %ref% echo %%l
修改成
if %%i LSS %ref% rmdir /s /q %%l
啊
#28
我修改成
if %%i LSS %ref% rmdir /s /q %%l
还是不能删除该文件夹下的.txt文件
??
if %%i LSS %ref% rmdir /s /q %%l
还是不能删除该文件夹下的.txt文件
??
#29
if %%i LSS %ref% rmdir /s /q %%l
修改成if %%i LSS %ref% rmdir /s /q d:\xtmp\tmp\%%l
吧
修改成if %%i LSS %ref% rmdir /s /q d:\xtmp\tmp\%%l
吧
#30
晕呀,还是
if %%i LSS %ref% rmdir /s /q d:\xtmp\tmp\%%l
修改成
if %%i LSS %ref% del /f d:\xtmp\tmp\%%l
吧
if %%i LSS %ref% rmdir /s /q d:\xtmp\tmp\%%l
修改成
if %%i LSS %ref% del /f d:\xtmp\tmp\%%l
吧
#31
不錯,記下了!
#32
我试过了,这下可以了,真的删除了,呵呵:)
不过删除date()-1的文件,是删除一天以前的,昨天的文件还是保留的,呵呵:)
谢谢!!!
不过删除date()-1的文件,是删除一天以前的,昨天的文件还是保留的,呵呵:)
谢谢!!!
#33
但是出现一个很奇怪的问题,我用汉字命名的文本文件,为什么删除不了?
#34
出现一个很奇怪的问题,我用汉字命名的文本文件,为什么删除不了?