Det är så att jag vill flytta en fil när det har gått en dag från Upload mappen till typ CheckFile mapp.
Jag har sökt efter något exempel här på forumet men inte hittat ett exempel som jag har fått att fungera, och någon expert på asp är jag inte heller så därför vänder jag mig till er experter här.
Skulle nu kunna vara snälla och hjälpa mig med detta.
Jag använder följande FSO kod för att lista filerna i mappen Upload
<%
Dim FSO, Folder, File, SPath, Farg
SPath = server.mappath("Upload") 'The folder all new files is in
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.Getfolder(SPath)
For each File in Folder.files
IF Farg = "#F7F7F7" THEN Farg = "#FFFFFF" Else Farg = "#F7F7F7" END IF
%>
<tr bgcolor="<%=(Farg)%>">
<td class="ShowFiles">
<%Response.Write "<a href=""Upload/" & File.name & """>" & Left(File.Name, Len(File.Name) - 4) & "</a>"%></td>
<td width="80" class="ShowFiles">
<% Response.Write Left(File.DateCreated, Len(File.DateCreated) - 8)%></td>
</tr>
<%
Next
Set Folder = Nothing : Set FSO = Nothing
%>
Filen får dagens datum via ett uploads script när någon laddar upp en fil.
Men koden körs ju bara om någon surfar in på sidan, och då varje gång. Egentligen vill du ju ha ett jobb som går en gång om dygnet? Kanske enklare att skriva en liten vb exe och låta windows schedulern köra den varje dag?
Du får ju loop igenom alla filerna som du gör i ditt exempel och sedan göra en datediff med creationdate/ time och dagens datum/tid. Är det 24 timmar eller mer så flyttar du filen.
Du har ju i praktiken koden klar i ditt exempel, bara att lägga till lite koll på datediff och move funktion, lite exempel:
If DateDiff("h", File.DateLastModified, Now) >= 24 Then
File.Move sPath & "\CheckFile"
end if
Det ger följande utskrift:
\CheckFile\Custers_Sink-DJ3.zip
fast filerna ligger i mappen Upload den skriver ut samma antal filnamn som det finns i den mappen men skriver ut sökvägen till den katalogen som filerna skall flyttas till om dom är en dag gammal.
Där har du ju förklaringen! sPath är uppenbarligen tom. Den borde enligt ditt kodexempel innehålla typ "c:\någonmapp\upload", vilket nu när jag tänker efter också hade blivit fel, men vi hade varit närmare lösningen iallafall.
Det du saknar är ju en komplett sökväg till den plats där du vill flytta filerna. Lägg till det först. Dvs, se till att sPath inehåller rätt start på sökvägen eller hårdkoda det eller nått.
Jag skippar detta mrblonde eftersom att jag får ingen riktig ordning på det, och skriver ut länk till filerna istället i mappen baserat på ditt datum exempel ovanför så får jag flytta dom manuellt istället det funkar med att visa filerna bara som är mindra än en dag gammal.
Men jag uppskattar verkligen all din hjälp sånt gör en glad när någon orkar lägga ner tid för att hjälpa någon. Tack igen.
Du sa att om du gjorde response.write sPath & "\CheckFile\" & File.Name så fick du \CheckFile\Custers_Sink-DJ3.zip. Det innebär att sPath var tom annars borde det stått tex: d:\någonmapp\checkfile\Custers_Sink-DJ3.zip.
Dim FSO, Folder, File, UploadPath, MovePath, Farg
UploadPath = Server.MapPath("Upload/") 'The folder all new files is downloaded into
MovePath = Server.MapPath("CheckFile/") 'The folder all file older then one day moves to
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.Getfolder(UploadPath)
For each File in Folder.Files
IF DateDiff("h", File.DateLastModified, Now) >= 24 Then
IF File.FileExists(MovePath & "\" & File.Name) Then
File.Delete(MovePath & "\" & File.Name)
File.Move(MovePath & "\" & File.Name)
END IF
END IF
Jag måste nog säga att jag tycker att det inte är rocket science att lösa detta.
Vill du att jag skall använda min tid till att hjälpa dig måste du anstränga dig själv. Annars känns det för min del som att du inte orkar försöka förstå och bara vill att någon annan skall göra jobbet.
Jag är personligen inte intresserad av att göra jobb åt någon, bara av att ge en knuff i rätt riktning för att du själv skall lära dig mer. Är du inte intresserad av att lära dig så kan du betala någon för att göra jobbet åt dig.
Använd internet till att läsa in dig på de olika objekten och vad de har för metoder och hur du kan använda dem. en tutorial kanske?
Att inte kunna uppvisa felmeddelanden är ett säkert sätt att inte få hjälp. Att du får en massa fel och sedan inte kommer ihåg dem...? Hur skall någon kunna hjälpa till om du inte ens kan tala om vad som inte fungerar.
281 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e