Just nu i M3-nätverket
Gå till innehåll

Sökskript för fil


Freddeberga

Rekommendera Poster

Freddeberga

Hej!

Jag skulle gärna vilja ha ett förslag på ett skript som kan lösa mitt problem: Nämligen att få namnet på en viss fil och dess sökväg på C: som har skapats vid ett angivet datum. Denna fil ska kunna ligga i undermappar tilll en angiven sökkatalog.

 

Tack på förhand!

 

Länk till kommentar
Dela på andra webbplatser

Freddeberga

Tack för tipset! Den sidan kommer jag få användning av.

 

Men det jag inte hittar är hur jag med min kod letar upp en viss fil som skapades/modifierades el likn. vid ett visst datum.

 

För att slippa döpa om varje fil (bild) till datumet då bilden togs (tar massa tid :-( så vill jag att den hämtar rätt fil oavsett filnamn (dagbok med bilder)

 

Länk till kommentar
Dela på andra webbplatser

Freddeberga

Kanske jag missförstås ;-) Jag är förövrigt en novis kan man säga på detta, however. Exemplena under dessa rubriker visar flera bra skript som användas vad jag förstår iaf för att få fram en massa info om en fil/path som man redan känner.

 

Vet fortfarande inte hur ett skript kan se ut som letar upp en fil som man inte har en aning om vad den heter el vilken undermapp den ligger i utan bara vetskapen om när den blev till!

 

Blir riktigt glad om nån kan hjälpa mig! :-)

 

Länk till kommentar
Dela på andra webbplatser

Ange bara värden för strRootFolder (rootkatalogen att börja söka i) och strSearchForDate (enligt format nedan) så söker skriptet igenom alla dess undermappar och skriver ut filnamnet på de(n) fil(er) som är skapade vid angiven tidpunkt.

<%
Function SearchForFiles(objFolder, strSearchDate)
  Dim objSubFolder, objFile
Dim bolFileFound
  For Each objFile in objFolder.Files
     IF cDate(objFile.DateCreated) = cDate(strSearchDate) THEN 
        Response.Write objFile.Name & "<br>"
        bolFileFound = True
     End If
  Next
  For Each objSubFolder in objFolder.SubFolders
     SearchForFiles objSubFolder, strSearchDate
  Next
End Function

Dim objFSO, objFolder
Dim strRootFolder, strSearchForDate

strRootFolder = "D:\webroot\tempfiles\"
strSearchForDate = "2009-07-31 23:04:11"

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strRootFolder)

SearchForFiles objFolder, strSearchForDate

Set objFolder = Nothing
Set objFSO = Nothing
%>

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

 

Länk till kommentar
Dela på andra webbplatser

Rackans, jag måste vara nära nu!

 

Jag har lagt in din kod och modifierat lite efter mina data, men får ett felmeddelande: "Object required"

Raden som blir markerad:

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

 

Jag kör Visual Basic 6.0 om det kan vara nån skillnad...

 

Jag anropar funktionen StartDatumKor...

 

Sub StartDatumKor()
Dim objFSO, objFolder
Dim strRootFolder, strSearchForDate

strRootFolder = "C:\Documents and Settings\Fredrik\My Documents\db\bilder\"
strSearchForDate = "2009-07-13 23:04:11"

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(strRootFolder)

SearchForFiles objFolder, strSearchForDate

Set objFolder = Nothing
Set objFSO = Nothing

End Sub

Sub SearchForFiles(objFolder, strSearchDate)
Dim objSubFolder, objFile
Dim bolFileFound
For Each objFile In objFolder.Files
   If CDate(objFile.DateCreated) = CDate(strSearchDate) Then
'       Response.Write objFile.Name & "<br>"
       bolFileFound = True
   End If
Next
For Each objSubFolder In objFolder.SubFolders
   SearchForFiles objSubFolder, strSearchDate
Next
End Sub

 

[bild bifogad 2009-08-01 15:38:12 av Freddeberga]

1152387_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Jag kör Visual Basic 6.0 om det kan vara nån skillnad...
Ok, då flyttar jag tråden från ASP & VBScript

 

/Cluster

 

 

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

Hej igen!

 

Jag skippar att göra denna applikation i VB utan gör den för "webben" istället. Så nu funkar din kod utmärkt i ASP! Tackar så mycket att du gjorde den, det blir poäng på den!!

 

Jag vill dock bara kunna ange vilket datum som jag vill leta efter, inte så specifikt som både datum och tid. Har letat men inte hittat. Kanske du har ett tips? Alltså att hela dygnet ska vara kriteriet skulle vara nice!

 

/Fredrik

 

Länk till kommentar
Dela på andra webbplatser

Ändra IF-satsen:

IF FormatDateTime(cDate(objFile.DateCreated),2) = FormatDateTime(cDate(strSearchDate),2) THEN

och ange sen enbart datum: strSearchForDate = "2009-08-13"

 

Tack för poäng :thumbsup:

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

[inlägget ändrat 2009-08-13 22:30:31 av Cluster]

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

Känns som jag är riktigt usel på att besvara era fina svar!

Det fungerar dock fint med bara datumet nu!! Men när jag ska visa bilden jag nu fått namnet på vill jag använda "<img src>"-taggen i html koden, men funkade inget vidare. Finns det något spec asp skript som används istället för att visa en bild?

<img src="testmappbilder/ & objFile.Name & ">

 

En till fråga om man får ;-)?

Finns det någon Property för PictureTaken el likn. ist för LastModified?

 

Tusen tack!

 

Länk till kommentar
Dela på andra webbplatser

DateCreated(som anges i koden) borde vara det du får ut när bilden skapades.

ModifiedAt finns, men det är ju det datum filen kopierades över till den enhet den ligger på servern.

 

<img src="testmappbilder/ & objFile.Name & ">

Har du rätt sökväg?

 

Om bilden inte visas så har du nog skrivit ut sökvägen fel i loopen.

<%
Response.write "<img src=""testmappbilder/"& objFile.Name & """>"
%>
eller
<img src="testmappbilder/<%=objFile.Name%>">

 

Länk till kommentar
Dela på andra webbplatser

Ändra:

Response.Write objFile.Name & "<br>"

till:

      strBaseUrl = "/" & Replace(objFile.ParentFolder, strRootFolder, "")
     Response.Write "<img src="""&strBaseUrl &"/"& objFile.Name &""" >"

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

Länk till kommentar
Dela på andra webbplatser

Jag fick det att funka bra efter att jag tog bort första backslash (\) i sökvägs-variabeln (genom att räkna lite tecken och använda alla utom det första osv.) som tydligen inte fick vara där...

 

Imponerande kvicka och bra svar! Poäng till er båda!!

Tack för hjälpen!

 

Länk till kommentar
Dela på andra webbplatser

Hmmm... men om du vet att filerna alltid ligger i en viss mapp (testmappbilder enl. din kod ovan) så förstår jag inte riktigt varför du ville ha ett rekursivt sökskript från första början....

Eller använde du mitt förslag med objFile.ParentFolder ?

 

/Cluster

----------------------------------------------

Any fool can use a computer. Many do.

-----[ http://eforum.kicks-ass.net ]------

 

Länk till kommentar
Dela på andra webbplatser

Ok jag förstår att jag kanske rört till det. Jag fick problem att använda sökväg från C: (kanske någon säkerhetsspärr jag vet inte) så idén slog mig att lägga upp en ny virituell katalog och peka denna till bildernas huvudkatalog.

Därav problemet. Sen använde jag ditt förslag och tog bara bort \ i början och fick det att funka.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...