SetFolderDate 1.5 Array range exceeded
Moderators: Hacker, petermad, Stefan2, white
SetFolderDate 1.5 Array range exceeded
Hi,
please forgive as i continue in german language:
Hallo Van Dusen,
dein wunderbares Progrämmchen, was mir wirklich sehr sehr hilft, wirft einen Fehler:
[img]http://www.bilder-hochladen.net/files/hcyg-w-6364.png[/img]
Ich vermute, es liegt daran, das einfach zu viele Dateien/Verzeichnisse eingelesen wurden. Interessanterweise tritt der "Fehler" aber nicht immer in derselben Konstellation (identische Verzeichnisse mit derselben Anzahl Dateien) auf.
Falls Du interesse hast, und ich Dir mehr Infos geben kann/soll, gib Bescheid. Ansonsten betrachte diesen Post als gegessen.
Juten Appetit. :-)
please forgive as i continue in german language:
Hallo Van Dusen,
dein wunderbares Progrämmchen, was mir wirklich sehr sehr hilft, wirft einen Fehler:
[img]http://www.bilder-hochladen.net/files/hcyg-w-6364.png[/img]
Ich vermute, es liegt daran, das einfach zu viele Dateien/Verzeichnisse eingelesen wurden. Interessanterweise tritt der "Fehler" aber nicht immer in derselben Konstellation (identische Verzeichnisse mit derselben Anzahl Dateien) auf.
Falls Du interesse hast, und ich Dir mehr Infos geben kann/soll, gib Bescheid. Ansonsten betrachte diesen Post als gegessen.
Juten Appetit. :-)
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?
Mario
Mario
Das ist nur Ihre Meinung.versalzen wrote:Ich vermute, es liegt daran, das einfach zu viele Dateien/Verzeichnisse eingelesen wurden.
Ich brauche mehr Details.versalzen wrote:Interessanterweise tritt der "Fehler" aber nicht immer in derselben Konstellation (identische Verzeichnisse mit derselben Anzahl Dateien) auf.
Schreiben Sie's auf, ich beschäftige mich später damit.versalzen wrote:Falls Du interesse hast, und ich Dir mehr Infos geben kann/soll, gib Bescheid
Grüße, Hans Immer
Hallo versalzen,
so, nun mal Scherz beiseite: Danke für Deine Rückmeldung! Gern würd' ich versuchen, den Fehler bei mir nachzuvollziehen. Aber dafür brauche ich ich in der Tat mehr Details

Welches OS benutzt Du? Welche Optionen sind gesetzt, wie sind ggf. die ergänzenden Parameter belegt (falls z.B. die Option "Datum aus Dateinamen ermitteln" gesetzt ist, wie lautet der zugehörige regulärer Ausdruck) und bei welcher Aktion (Vorschau oder Ausführen) tritt der Fehler auf? Falls es tatsächlich an der Menge der Dateien/Verzeichnisse liegen sollte, kannst Du ungefähr abschätzen, bei welcher Anzahl das Problem auftritt?
Danke Dir im voraus!
Grüße, van Dusen (#24722)
Stimmt :-)van Dusen wrote:Das ist nur Ihre Meinung.versalzen wrote:Ich vermute, es liegt daran, das einfach zu viele Dateien/Verzeichnisse eingelesen wurden.
Also ich auf jeden Fall! :-) Habs sofort am ersten Satz erkannt. Seltsam, was alles hängen bleibt :-))
Ich werde mir das also dann mal genauer anschauen und die fehlenden Daten liefern.
Melde mich, wenns soweit ist. Danke auch.
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?
Mario
Mario
Windows7, aktuelle Hotfixe.van Dusen wrote:Welches OS benutzt Du?
Ausschliesslich mit diesen Einstellungen:van Dusen wrote:Welche Optionen sind gesetzt, wie sind ggf. die ergänzenden Parameter belegt (falls z.B. die Option "Datum aus Dateinamen ermitteln" gesetzt ist, wie lautet der zugehörige regulärer Ausdruck)
[img]http://www.bilder-hochladen.net/files/thumbs/hcyg-y-e369.png[/img]
Die stehen bei mir in der Config-Datei, welche ich mir angepasst habe, so das ich quasi nur das Verz. einlesen lassen muss um dann auf "Ausführen" zu klicken und mich wohlwollend und grinsend nach hinten in den Chefsessel sinken zu lassen und dem Programm zuzugucken 8-)
Code: Select all
[Configuration]
;Language=DAN
;Language=DEU
;Language=ENG
;Language=FRA
Language=AutoDetect
;ProgPath7z=%ProgramFiles%\PortableApps\7-ZipPortable\App\7-Zip\7z.exe
ProgPath7z=E:\mario\portable\7z.exe
;SupportedFormatsArc=7z;arj;bz2;bzip2;cab;chm;chw;cpio;deb;doc;exe;gz;gzip;hxs;iso;lha;lzh;msi;ppt;rar;rpm;swm;tar;taz;tbz;tbz2;tgz;wim;xls;z;zip
;SupportedFormatsArc=7z;arj;bz2;bzip2;cab;chm;chw;cpio;deb;exe;gz;gzip;hxs;iso;lha;lzh;msi;rar;rpm;swm;tar;taz;tbz;tbz2;tgz;wim;z;zip
OptionalExcludedFormatsArc=exe
;ProgPathExifTool=%ProgramFiles%\Misc\ExifTool.exe
ProgPathExifTool=E:\mario\portable\ExifTool.exe
SupportedFormatsPic=jpg;cr2;xmp;tif;avi
EvaluateTagPic=DateTimeOriginal
SupportedFormatsDoc=doc;pdf;ppt;xls
EvaluateTagDoc=ModifyDate
;*** TimestampInFilenameFormat: A regular expression which stands for a filename pattern.
;*** Apart from standard RegExp matching characters, some special placeholders are valid which must be used in order to recognize the date/time parts of the tested filename:
;*** Year: $YYYY, $Y+, $YY; Month: $MM, $M+, $M; Day of month: $DD, $D+, $D; Hour: $hh, $h+, $h; Minute: $nn, $n+, $n; Second: $ss, $s+, $s
;*** Not specified date/time parts will be taken from old filedate
TimestampInFilenameFormat=.+ \($YY$MM$DD_$hh$nn)\..+
;GUIPosX=
;GUIPosY=
;GUIWidth=
;GUIHeight=
;*** Color of separator lines and the big curly bracket: : 0xrrggbb (Default: 0xD0D0BF (you should set a darker color (e.g. "0x808080") when using "Windows Classic" schema)
SeparatorColorRGB=0xD0D0BF
;*** *ColorRGB (*=NOP|Dir|NOPDir|Arc|Nam|Pic|Doc): 0xrrggbb
NOPColorRGB=0xA0A0A0
DirColorRGB=0x0000C0
NOPDirColorRGB=0x60A0FF
ArcColorRGB=0x966200
NamColorRGB=0x000000
PicColorRGB=0x006000
DocColorRGB=0x008080
;*** Ext*ColorRGB (*=File extension, e.g. "Exe"): 0xrrggbb.
;*** Add one Ext*ColorRGB key for each file extension, which you like to be displayed with its individual color
ExtExeColorRGB=0xC00000
FontName=Tahoma
FontSize=8.5
;*** ShowIcons: 0=no; 1=yes. Effects only listview control, not the options area
ShowIcons=1
;*** Ignore1hDiff: DST compensation: 0=...; 1=Old date and new date are claimed to be equal, if they differ exactly 1 hour
Ignore1hDiff=1
;*** Ignore2sDiff: DOS filetime compensation: 0=...; 1=Old date and new date are claimed to be equal, if they differ up to 2 seconds
Ignore2sDiff=1
;*** BuildFilelistRecursively: 0=Build filelist from files/dirs only on current level; 1=Build filelist from files/dirs and all subdirs (recursively)
BuildFilelistRecursively=1
;*** SetDateTo: 1=certain date; 2=date of newest file; 3=date of oldest file; 4=relative date; 5=date from filename; 6=date from metadata (DateTimeOriginal); 7=date from metadata (ModifyDate)
SetDateTo=3
;*** GetDateRecursively: 0=no; 1=yes
GetDateRecursively=1
;*** GetDateFromCertainFileName: Filename with or without DOS-pattern or regular expression (if empty, checkbox is set to unchecked)
GetDateFromCertainFileName=
;*** GetDateFromCertainFileIgnoreIfNoMatch: 0=If no file matches the file spec, then report "no match"; 1=If no file matches the file spec, then get date of newest/oldest file, ignoring the file spec
GetDateFromCertainFileIgnoreIfNoMatch=1
;*** GetDateFromCertainFileRegEx: 0=Don't interpret GetDateFromCertainFileName as a regular expression; 1=Interpret GetDateFromCertainFileName as a regular expression
GetDateFromCertainFileRegEx=0
;*** ExcludeFilesInIgnorelist: 0=Date of each file will be examined; 1=Files in ignorelist will be skipped
ExcludeFilesInIgnorelist=1
;*** TypeOfTimestamp* (*=Target|Source): 1=Date modified; 2= Date created; 3=Date last accessed
TypeOfTimestampTarget=1
TypeOfTimestampSource=1
;*** ScanAtStartup: 0=Don't scan dirs/files at startup; 1=Scan dirs/files at startup. Effects only on SetDateTo=
ScanAtStartup=1
;*** RescanOnExecute: When "Execute"-Button is clicked: 0=Don't rescan dirs/files, apply "New date" as displayed in Listview; 1=Rescan dirs/files at first
RescanOnExecute=0
[Ignorelist]
1=descript.ion
2=files.bbs
3=thumbs.db
4=desktop.ini
5=folder.ico
6=*.bak
Also ich gehe im TC auf den obersten Ordner (Pfad auf einem NAS, 1Gbit-Netz) und lasse Dein Programm starten. Dann liesst es erstmal ca. 3 Minuten die kompletten Verzeichnisse ein, die es dann nocheinmal "bearbeitet" (wahrscheinlich für die Vorschau). Das dauert auch noch einmal ca. 7 Minuten, bis ich auf "Ausführen" klicken kann.van Dusen wrote:bei welcher Aktion (Vorschau oder Ausführen) tritt der Fehler auf?
Nach dem Klick auf "Ausführen" rödelt es rum und -irgendwann- kommt dann die Meldung aus dem ersten Post.
(Die Zahlen unten entstanden durch STRG+B auf dem obersten Verzeichniss, dann NUM+*)van Dusen wrote:Falls es tatsächlich an der Menge der Dateien/Verzeichnisse liegen sollte, kannst Du ungefähr abschätzen, bei welcher Anzahl das Problem auftritt?
Natürlich konnte ich, nun auf der Suche nach dem Fehler, den Fehlerfall nicht (mehr) reproduzieren.
Weder mit 2.557,1 G in 17749 Datei(en) auf dem NAS,
noch mit 1.764,7 G / 320648 Datei(en) auf dem NAS
Aber auch nicht bei lokal 12,g G / 48275 Datei(en).
Was noch:
-Im ProzessExplorer gebe ich dem Task von Deinem Programm Echtzeitpriorität, damit das alles etwas zügiger von statten geht.
-Wenn die errechneten Daten mit denen auf dem NAS zu 90% übereinstimmen, dann tritt der Fehler nicht auf. (also wenn von 100 Verzeichnissen nur 10 angepasst werden müssen)
-seit neustem habe ich die Option, die Archive mitnimmt ausgeschaltet, das hatte den Programmablauf noch um einige Minuten verlängert und ist für meine Fälle irrelevant.
-als ich zu Testzwecken allen Verzeichnissen ein aktuelles Datum gegeben hatte, damit ich es dann (mit neuaufrauf des Programmes) wieder in ein passendes Datum umsetzen zu lassen, verabschiedete sich das Programm nach dem Klick auf Ausführen und nach einiger Zeit des rumrödelns. Kommentarloser Absturz.
Alles in Allem, eigentlich keine Hilfe, nur ein Roman mit ein paar Zahlen und Fakten :-)
Btw: Kann es sein, das das Kompilat vom Skript Probleme hat, wenn man es in den Hintergrund* schiebt und irgendwann wieder hervorholt?
(*Minimieren des Programms und somit verschwindenlassen vom Desktop, aber auch hinter ein größeres Programmfenster verstecken ist hiermit gemeint)
Ich meine es in einer früheren Version deutlicher bemerkt zu haben: Starte ich einen Vorgang, der länger dauert, oder ist Dein Programm mit irgendetwas beschäftigt, so habe ich Dein Programm einfach in den Hintergrund gesetzt und munter weitergearbeitet. Immer, wenn ich mal wissen wollte, wie weit das Programm schon ist, hole ich es aus dem Hintergrund hervor und es scheint mir so, als ob es nochmal neu anfangen will/würde, eine Liste aufzubauen und anzuzeigen. Nun, bei der neuen Version sind mir die Vorgänge nicht so ersichtlich, deswegen kann ich Dir nicht genau sagen, womit das Programm gerade beschäftigt ist.
Evtl. wäre es hilfreich, wenn Du der Statuszeile folgendes an Informationen hinzufügst: "Ich mache gerade das und das. Dies ist der n'te Schritt von n (und dann der Rest der Statistik, die man bereits sieht)". Nun ist es so, das ich nur lese "Bitte warten ... (n% . nnn / nnnnn) und einiges an Verzeichnisnamen. Aber das sagt mir -irgendwie- nix.
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?
Mario
Mario
Tja, es kam nicht mehr vor. Super auf der einen Seite. Schade auf der anderen :-)
Das einzige, was (wie immer, bei allen Programmen, die mir seit Win3.11 über den Weg gelaufen sind) evtl. schöner gelöst werden könnte, wäre die integration größerer Schriftarten ins Hauptfenster.
Siehe Screenshot.
[img]http://www.bilder-hochladen.net/files/thumbs/hcyg-16-3416.png[/img]
Aber es läuft und läuft und läuft... dank Dir!
Das einzige, was (wie immer, bei allen Programmen, die mir seit Win3.11 über den Weg gelaufen sind) evtl. schöner gelöst werden könnte, wäre die integration größerer Schriftarten ins Hauptfenster.
Siehe Screenshot.
[img]http://www.bilder-hochladen.net/files/thumbs/hcyg-16-3416.png[/img]
Aber es läuft und läuft und läuft... dank Dir!
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?
Mario
Mario
Was tun bei Ordnerlänge >255 ?
Hallo van Dusen,versalzen wrote:Aber es läuft und läuft und läuft... dank Dir!
wie oben gequotet, luppt dat Proggi seit Jahr und Tag wunderbar, einwandfrei und tadellos. :-)
Seit einigen Tagen fielen mir allerdings lokale und UNC-Ordner auf, die nicht verarbeitet wurden und nach einigem Suchen wurde klar: Die Pfadlänge ist länger als 255 Zeichen.
Nun scheint es aber (nicht nur) mit dem TC möglich zu sein, Ordnernamen+Dateinamen > 255 zu haben, soweit ich im heiligen Orakel lesen konnte. Oder es gibt Umgehungsmöglichkeiten, welche aber nicht immer genutzt werden können.
Meine Frage an Dich:
Ist es -irgendwie- möglich, das Du diese künstliche Beschränkung seitens Windows in Deinem wunderschönen Progrämmchen auch -irgendwie- unbeachtet lassen kannst?
Viele Ordnernamen entziehen sich meiner Kontrolle und sind nicht mein Eigentum, so das ein kürzen nicht jedesmal in Frage kommt.
Falls sonst jmd. eine Idee hat, wie ich die Datei-/Ordnernamenlänge-limitierung deaktivieren/vergrößern kann, verweisst mich gerne auf einen entsprechenden Artikel. Im Orakel habe ich keine wirklichen Wege gefunden, alle schreiben, das es nicht geht.
Was nützt der Löffel für die Weisheit, wenn man zu weit vom Suppentopf entfernt sitzt?
Mario
Mario
- sqa_wizard
- Power Member
- Posts: 3893
- Joined: 2003-02-06, 11:41 UTC
- Location: Germany
Du kannst mit dem Befehl DOS Befehl SUBST einen Teil des Pfades abkürzen:Falls sonst jmd. eine Idee hat, wie ich die Datei-/Ordnernamenlänge-limitierung deaktivieren/vergrößern kann
Also aus "C:\mein langer Pfad mit 250 Zeichen\Dokumente" machst du mit
Code: Select all
SUBST X: "C:\mein langer Pfad mit 250 Zeichen"
Etwas komfortabler macht das XSUBST
#5767 Personal license