怎样编写一个服务器脚本,实现文件自动删除功能?

darmen 2002-05-16 12:30:42
我想把过期的一些文件删除,但是文件太多,所以想用脚本实现
请问如何实现?
...全文
464 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
技无止境 2002-05-18
  • 打赏
  • 举报
回复
<<脚本编程核心技术精解>>中国水利水电出版社
siyuan79 2002-05-18
  • 打赏
  • 举报
回复
倒。

有那么麻烦吗?使用win2k的任务不行吗??


我的网站:http://www.xintang.net
0A我的FTP :ftp://siyuan79.vicp.net (账号和密码:soft)
darmen 2002-05-18
  • 打赏
  • 举报
回复
请教smile:有什么开发工具用2000的脚本编制吗?
那里有参考资料啊?
回rake:

以上代码使用UltraEdit编写的,使用的是VBScript。
应该说这跟2000Server本没有什么关系,只是使用了2000Server的wscript.exe这个运行平台。

参考资料:就是关于vbscript的资料,另外可以看看2000 Server的帮助,查找脚本,就可以看出以上代码的运行机制。
darmen 2002-05-18
  • 打赏
  • 举报
回复
代码已经写出来了

'------------------------------------------------------------------------------------------------
'
' Usage: delete files on the ftp folder that are over two days
'
' 2002/5/16 Darmen Created
'
'------------------------------------------------------------------------------------------------

' Force explicit declaration of all variables.
Option Explicit
On Error Resume Next

Dim FtpRootFolderPath, FtpRootFolder, strLogFolderPath
'config variants
FtpRootFolderPath = "E:\incoming"
strLogFolderPath = "E:\Log\"

Dim CurrentDate, FileCreatedDate, FolderCreatedDate

Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")

'get current time
CurrentDate = Now

'get the count of log files in ftp root folder
Dim LogFile, nCount, TempFolder, TempFileColl
Set TempFolder = fs.GetFolder(strLogFolderPath)
Set TempFileColl = TempFolder.Files
nCount = TempFileColl.Count

'create log file
Set LogFile = fs.CreateTextFile(strLogFolderPath & CStr(nCount) & ".txt", True)
LogFile.WriteLine "============================================================"
LogFile.WriteLine " Management Of Ftp Files"
LogFile.WriteLine "============================================================"
LogFile.WriteLine "Starting manage ftp folder. " & Now
LogFile.WriteLine "============================================================"

'get ftp root folder and do management
Set FtpRootFolder = fs.GetFolder(FtpRootFolderPath)
DeleteOutDateFolder FtpRootFolder, True

'close log file
LogFile.WriteLine "============================================================"
LogFile.WriteLine "Manage ftp folder complete! "
LogFile.WriteLine "============================================================"
LogFile.Close

Sub DeleteOutDateFolder( folder, IsRootFolder )
Dim fileColl, folderColl, file, subfolder
Set fileColl = folder.Files
'delete out date files in this folder
For Each file in fileColl
DeleteOutDateFile(file)
Next
Set folderColl = folder.SubFolders
'delete out date sub folders in this folder
For Each subfolder in folderColl
DeleteOutDateFolder subfolder, False
Next

Set fileColl = folder.Files
Set folderColl = folder.SubFolders
'judge if this folder is empty or not
If fileColl.Count <> 0 Then
Exit Sub
Else
If folderColl.Count <> 0 Then
Exit Sub
End If
End If
FolderCreatedDate = folder.DateCreated
'judge if this folder was created two days ago or not
If IsRootFolder = True Then
Exit Sub
End If
If CurrentDate - FolderCreatedDate >= 2 Then
LogFile.WriteLine Now & " delete folder: " & folder.Path
folder.Delete
End If
End Sub

Sub DeleteOutDateFile( file )
FileCreatedDate = file.DateCreated
'if this file was created two days ago,delete it!
If CurrentDate - FileCreatedDate >= 2 Then
LogFile.WriteLine Now & " delete file: " & file.Path
file.Delete
End If
End Sub
Rake 2002-05-16
  • 打赏
  • 举报
回复
请教smile:有什么开发工具用2000的脚本编制吗?
那里有参考资料啊?
darmen 2002-05-16
  • 打赏
  • 举报
回复
服务器脚本可以使用vbscript,jscript,然后使用wscript.exe定时运行就行。
但是,vbscript中对于文件的操作怎么做?

得先判断文件是否过期,然后删除。
Rake 2002-05-16
  • 打赏
  • 举报
回复
我也听说2000下可以用什么脚本语言来实现自动管理,只要想的到,基本可以实现,不知有谁知道否?
spark_li 2002-05-16
  • 打赏
  • 举报
回复
自己写一个批处理呀
然后用计划任务来执行,
比如每1个小时执行一次,
或者你自己定义其他的时间执行

可能在批处理中需要用到的几个命令
2k下

rmdir /s /q 目录
del /f
del /s
等,具体请看
help rmdir
help del 等

6,849

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧