Re: Filesystem in Datei speichern



ekkehard.horner" schrieb:
Stefan Baumgart schrieb:
Hallo NG,

ich habe folgendes Problem:
Ich möchte alle Ordner und Dateien mit den Eigenschaften für Name, Attribute, Größe, Änderungsdatum in einer Datei speichern, um
später diese Datei wieder zu laden und mit dem aktuellen Stand der Ordner und Dateien vergleichen zu können. Auf diese Art möchte
ich z.B. gelöschte oder hinzugefügte Dateien ausgeben können.

Ich habe bereits einige Ansätze mit ADODB, dem FileSystemObject und XML probiert, bin aber noch nicht auf eine brauchbare Lösung
gekommen.

- Mit ADODB kann man nur(?) Internetpfade ansprechen
das glaube ich nicht; vielleicht verstehe ich es aber auch miss
- FSO bietet keine Möglichkeit der Speicherung in TXT oder XML-Dateien (um diese anschließend wieder zu laden)
es ist aber auch nicht schwierig, Daten vom Speicher in eine .txt
Datei zu schreiben
- gleiches gilt für das Dictionary-Objekt
s.o.

Hat jemand eine Idee, wie ich das Problem angehen müsste?

Vielen Dank
Stefan Baumgart

Ich wuerde von hinten anfangen: Wenn man die beiden Verzeichnisbaeume (oder
denselben Baum zu zwei Zeitpunkten) in zwei DB-Tabellen tut - hier ein ganz
einfaches Beispiel:

SELECT dtLastA, iSize, sId FROM [frs.csv]
dtLastA iSize sId
----------------------------------------------------------------------
10.02.2005 16:46:59 2000 \basetree.html
[...]

kann man mit SQL-Abfragen sehr flexibel und bequem fehlende Dateien
im zweiten:

SELECT F.dtLastA, F.iSize, F.sId FROM [frs.csv] AS F
LEFT JOIN [sec.csv] AS S ON F.sId = S.sId WHERE S.sId IS NULL
dtLastA iSize sId
----------------------------------------------------------------------
10.02.2005 16:46:59 2000 \basetree.html

bzw. im ersten:

SELECT S.dtLastA, S.iSize, S.sId FROM [sec.csv] AS S
LEFT JOIN [frs.csv] AS F ON F.sId = S.sId WHERE F.sId IS NULL
dtLastA iSize sId
----------------------------------------------------------------------
05.02.2003 08:32:52 288 \blddsn.udl

oder Unterschiede:

SELECT F.iSize, S.iSize, F.sId FROM [sec.csv] AS S
INNER JOIN [frs.csv] AS F ON F.sId = S.sId WHERE F.iSize <> S.iSize
F.iSize S.iSize sId
----------------------------------------------------------------------
4717 4739 \treemaker.vbs

SELECT F.dtLastA, S.dtLastA, F.iSize, F.sId FROM [sec.csv] AS S
INNER JOIN [frs.csv] AS F ON F.sId = S.sId WHERE F.dtLastA <> S.dtLastA
F.dtLastA S.dtLastA iSize sId
----------------------------------------------------------------------
10.02.2005 16:46:56 03.06.2008 00:51:42 4717 \treemaker.vbs
11.02.2005 14:07:21 03.06.2008 00:57:39 7512 \subdir\subsubdir\aircraft.cfg

herausfinden.
[...]
Vielleicht hat man ja einen Access-faehigen Praktikanten, der ein GUI vor die
Tabellen setzt.
[...]

Hallo Ekkehard,

danke für den Super-Tip, CSV-Dateien zu nutzen. Manchmal ist man ja schon blind und kommt nicht auf die einfachsten Dinge.
Access als Programm ist nicht das Problem. Das Problem sind die eingeschränkten Datentypen. Da ich nicht ausschließen kann, dass die
Dateipfade länger sind als 255 Zeichen kommt nur der Memo-Typ in Frage. Diese Felder kann ich aber nicht in ein JOIN einbauen.

Also: prima Tip, mit CVS werd ich's jetzt versuchen.

Viele Grüße
Stefan


.



Relevant Pages

  • Re: Problem mit einer SQL Abfrage
    ... FROM (SELECT * FROM A WHERE active is null) c ... LEFT JOIN (SELECT * FROM B where restituion is null) d ...
    (de.comp.datenbanken.mysql)
  • Re: Abfrage mit ORDER BY (SELECT ...)
    ... > ORDER BY (SELECT Sum(Stueckzahl) FROM Lagerbewegungen WHERE ... SumAS Bestand2 ... LEFT JOIN ...
    (microsoft.public.de.access)
  • Re: Summen im SQL Statement
    ... anstelle von 'Join' verwendet werden soll. ... SELECT k.name, ... FROM kunde k ...
    (microsoft.public.de.sqlserver)
  • Re: Count-Problem
    ... SELECT DISTINCT, countAS Anzahl ... FROM (SELECT bereich ... GROUP BY bereich ... AS ware1 INNER JOIN (SELECT bereich ...
    (microsoft.public.de.sqlserver)
  • Re: sql
    ... SELECT dbo.ss_mssi1.*, ... FROM dbo.ss_mssi2 ... Puede que el JOIN no lo necesitas. ... > la relacion es por id de orden ...
    (microsoft.public.fox.vfp.queries-sql)

Loading