VBS/WSH/JS - [решено] Удаление файлов созданных ранее текущей даты на неделю

Ответить
Аватара пользователя
KillHunter

VBS/WSH/JS - [решено] Удаление файлов созданных ранее текущей даты на неделю

Сообщение KillHunter »

Добрый день! помогите написать скрипт для удаления файлов созданных ранее текущей даты на неделю. Цель сего скрипта такова, есть файлы в директории D:\Backup, созданные с помощью ntbackup (файлы *.bkf), которые содержат в имени файла дату создания(04.02.2009.bkf).Нужно чтобы скрипт проверял текущую дату и удалял файлы старее 1 недели.
Аватара пользователя
amel27

Re: VBS/WSH/JS - [решено] Удаление файлов созданных ранее текущей даты на неделю

Сообщение amel27 »

если имя файла соответствует отображению даты текущей локали:



Код:

Код: Выделить всё

strRoot = "C:\Backup"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDIR = objFSO.GetFolder(strRoot)
Set colFiles = objDIR.Files
For Each objFile In colFiles
  FileDate = CDate(Left(objFile.Name,10))
  If DateDiff("w",FileDate,Now)>0 Then
    objFile.Delete
  End If
Next
Аватара пользователя
KillHunter

Re: VBS/WSH/JS - [решено] Удаление файлов созданных ранее текущей даты на неделю

Сообщение KillHunter »

Цитата:



если имя файла соответствует отображению даты текущей локали:

Код:

Код: Выделить всё

 Код:  strRoot = "C:\Backup"  Set objFSO = CreateObject("Scripting.FileSystemObject") Set objDIR = objFSO.GetFolder(strRoot) Set colFiles = objDIR.Files  For Each objFile In colFiles   FileDate = CDate(Left(objFile.Name,10))   If DateDiff("w",FileDate,Now)>0 Then     objFile.Delete   End If Next





Выдаёт ошибку несоответствие типа CDate
Аватара пользователя
amel27

Re: VBS/WSH/JS - [решено] Удаление файлов созданных ранее текущей даты на неделю

Сообщение amel27 »

Цитата KillHunter:



Выдаёт ошибку несоответствие типа CDate
VBS/WSH/JS - [решено] Удаление файлов созданных ранее текущей даты на неделю




значит имя файла не соответствует формату даты, отладочный вариант:



Код:

Код: Выделить всё

On Error Resume Next
strRoot = "C:\Backup"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objDIR = objFSO.GetFolder(strRoot)
Set colFiles = objDIR.Files
For Each objFile In colFiles
  FileDate = CDate(Left(objFile.Name,10))
  If Err.Number0 Then
    WScript.Echo "Файл: """ & objFile.Name &""""& vbCRLF & _
      "Дата: """ & Left(objFile.Name,10) &""""& vbCRLF & _
      vbCRLF & Err.Description
    WScript.Quit
  End If
  If DateDiff("w",FileDate,Now)>0 Then
    objFile.Delete
  End If
Next
Аватара пользователя
KillHunter

Re: VBS/WSH/JS - [решено] Удаление файлов созданных ранее текущей даты на неделю

Сообщение KillHunter »

скрипты абсолютно одинаковые, но в последнем варианте отключены системные сообщения об ошибках, поэтому лучше найти ошибку
Ответить

Вернуться в «Скриптовые языки администрирования Windows»