Page 1 of 1
Selecteer bestand dat begint met "000008*.jpg"
Posted: Wed May 18, 2011 11:07 pm
by Herbus
Na drie avonden proberen, lezen, googlen ga ik echt jullie hulp vragen
Ik wil vanuit een vb script een file selecteren die begint met bijvoorbeeld "000008*.jpg". de hele file selecteren lukt wel (zie hieronder, maar selecteren op basis van een deel van het bestand krijg ik niet voor elkaar. Het zal wel iets heel simpels zijn, maar ik zit vast...
Module Module1
Sub Main()
Dim fso, MyFile
Dim Snapshot As String = "c:\test\00008 Voordeur11-05-16_17-04-15-85.jpg"
fso = CreateObject("Scripting.FileSystemObject")
MyFile = fso.GetFile(Snapshot)
MyFile.Copy("c:\test\test2.jpg")
End Sub
End Module
Ik heb altijd het bestand nodig (om te kunnen copieeren en e-mailen) dat begint met 000008. De rest van het bestand bevat de datum/tijd en is dus variabel.
Vast bedankt!
Re: Selecteer bestand dat begint met "000008*.jpg"
Posted: Wed May 18, 2011 11:27 pm
by Digit
Je mag in homeseer scripts ook VB.NET "doen" toch?
Misschien heb je hier dan wat aan, is een stukje code uit een webpagina die allemaal images toont die in een directory staan:
Code: Select all
Imports System.IO
Partial Class VerySecretPageName
Inherits MyBasePage
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
<knip>
Const IMAGE_DIRECTORY As String = "FrontDoorImages/"
Const maxWidth As Integer = 200
Const maxHeight As Integer = 200
Const MaxDisplay As Integer = 100
Dim pics As ArrayList = New ArrayList()
Dim s As String, html As String
Dim files() As String
Dim cntDisplay, imgHeight, imgWidth As Integer
cntDisplay = 0
files = System.IO.Directory.GetFiles(Server.MapPath(IMAGE_DIRECTORY), "*.jpg")
Array.Sort(files)
Array.Reverse(files) ''newest first
For Each s In files
'Get information about the image
Dim currentImage As System.Drawing.Image = System.Drawing.Image.FromFile(s)
.....
s bevat dan dus de filename.
Dat zou je moeten kunnen ombouwen naar een HS script, met sub main(...) erbij en zo.
Re: Selecteer bestand dat begint met "000008*.jpg"
Posted: Thu May 19, 2011 11:11 am
by AshaiRey
Even een snelle gedachte hier zegt me dat wat je doet wel goed is maar dat je als resultaat meerdere bestanden terug zal krijgen.
Hoe weet je dan welke bestand van de meerdere 000008 je moet hebben. Je zal dus volgens mij de meest rescentste moeten hebben, toch?
Re: Selecteer bestand dat begint met "000008*.jpg"
Posted: Thu May 19, 2011 12:14 pm
by Digit
De code die ik gaf geeft inderdaad meerdere bestanden terug, maar dat is eenvoudig om te bouwen naar bv. "pak de meest recente" door in de loop je eigen criteria (timestamp) in te bouwen. Het was ook niet de bedoeling een panklare oplossing voor te schotelen - zelf afmaken geeft weer een paar leuke hobby-uurtjes toch

Re: Selecteer bestand dat begint met "000008*.jpg"
Posted: Fri May 20, 2011 1:39 pm
by AshaiRey

Hoi Robert
Ik vroeg niet naar een oplossing hoor, dat was Herbus...
Trouwens een timestamp in bouwen hoeft niet.
Hou gewoon de sortering zoals je hem nu hebt (newest first) en pak dan het eerste element uit de array. Klaar!
Re: Selecteer bestand dat begint met "000008*.jpg"
Posted: Fri May 20, 2011 9:53 pm
by Digit
Weet ik, maar ik zag een vraagteken, geen quote naar een eerdere post, dus voelde ik me aangesproken

.
En misschien werkt die sortering voor Herbus al wel, maar wie weet komt er ooit nog een "000008 Achterdeur*" bij en dan pakt de huidige sortering op bestandsnaam wellicht wat minder goed uit
