[gelöst]Checksumme für Datei

10. Dezember 2013 09:04

Hallo,
wir haben für alle Artikel Bilder. Da sich diese ab und an verändern und ich für folge vorgängen wissen muss welche dies sind, möchte ich für jede Bildatei eine Checksum speichern. 'So lässt sich leicht feststellen welches Bild sich geändert hat.


Wie kann einen checksumme für eine Datei in Navision ( Classics client ) berechnen ?


Vielen Dank
Jörg
Zuletzt geändert von Jörg Nissen am 12. Dezember 2013 15:26, insgesamt 1-mal geändert.

Re: Checksumme für Datei

10. Dezember 2013 09:45

Hi Jörg,

reicht Dir denn nicht das Änderungsdatum der Datei und ggf. zusätzlich die Größe?

http://www.winscripter.com/WSH/FileIO/68.aspx

Volker

Re: Checksumme für Datei

10. Dezember 2013 11:44

Hallo,

so mache ich es jetzt....

CHECKSUMME finde ich allerdigns eleganter

Re: Checksumme für Datei

10. Dezember 2013 14:16

Dieses Tool ist zwar unsupported , aber ggf. doch zu gebrauchen :wink: :File Checksum Integrity Verifier utility

Re: Checksumme für Datei

10. Dezember 2013 14:34

Hallo,

vielen Dank für deine Info. Ja so Ähnlich habe ich das jetzt umgesetzt. Nur da wir hier über fast 10.000 Bilder reden ist eine Lösung pber die Shell nicht sehr bentutzerfreundlich = langsam

Vieleicht liegt es auch an meinem Aufruf ;-)

Code:

.
.
WshShell   Automation   'Windows Script Host Object Model'.WshShell   
.
.
IF ISCLEAR(WshShell) THEN
   CREATE(WshShell);

WshMode := 2;
WaitForEndOfCommand := TRUE;

CMD := STRSUBSTNO( 'cmd.exe /c "%1 "%2" %3"', Md5Exe,FileName , ' > ' + Tempfile);
WshShell.Run( CMD , WshMode, WaitForEndOfCommand );

file.TEXTMODE := TRUE;
file.OPEN( Tempfile );

IF  file.LEN > 0 THEN
BEGIN
  file.READ( Result );
END;
file.CLOSE;

ERASE( Tempfile );
p := STRPOS( Result, ' ' );
Result := COPYSTR( Result, 1,  p );




Vielen Dank
Jörg

Re: Checksumme für Datei

10. Dezember 2013 15:47

Andere Ansatz:

liegen die Bilder alle in einem Verzeichnis? Dann könnte man das ganze auch mit einem Dienst fast komplett unabhängig von NAV lösen.

Es gibt in .NET die Klasse FileSystemWatcher, mit derm man Verzeichnisse überwachen kann. Mit einem kleinen Dienst (oder auch Programm) könnte man das Verzeichnis der Bilder überwachen und bei Änderung via NAVWebservice diese Info anNAV geben. Das belastet keinen Client.

Volker

Re: Checksumme für Datei

12. Dezember 2013 15:26

Hallo Volker,

so habe ich es gelöst, wie du es vorgeschlagen hast. Vielen Dank. Nur haben wir eine schnelle, schlanke Lösung.


http://sourceforge.net/projects/fwutilities/

und
http://www.ExactFile.com

Re: [gelöst]Checksumme für Datei

12. Dezember 2013 20:34

Hier auch eine Lösung direkt aus Dynamics NAV: viewtopic.php?f=17&t=20337

Re: [gelöst]Checksumme für Datei

16. Dezember 2013 13:34

Hallo,

danke.... habe wohl nach den falschen suchbegriffen gesucht :-(

Aber im Nachhinein ist die Lösung Fileserverbassiert schneller. Da nicht bei jedem Vergleich der Hash gebildet werden muss.